




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于C#的.NETFramework程序设计,第1章Microsoft.NETFramework概述第2章托管执行环境的介绍第3章使用组件第4章部署与版本控制第5章通用类型系统第6章类型的使用第7章字符串、数组和集合第8章委托和事件第9章内存和资源管理,第10章数据流和文件第11章Internet访问第12章序列化第13章远程处理和XMLWebService第14章线程和异步编程第15章托管代码与非托管代码之间的互操作第16章使用MicrosoftADO.NET访问数据第17章属性,第13章远程处理和XMLWebService,远程处理远程处理配置文件XMLWebService,远程处理,远程处理概述信道和格式化程序激活和代理基于租约的生存期对象封送处理服务器端客户端客户端编译技术,13.1远程处理,远程处理概述,客户端应用程序域,客户端对象,信道,格式化程序,格式化程序,信道,服务器端对象,远程处理边界,服务器端应用程序域,服务器端代理,13.1.1远程处理概述,信道和格式化程序,信道用来在客户端和远程对象之间传输消息客户端选择已经在服务器上注册的信道在调用远程对象前,客户端以每个应用程序域为基础注册信道一个计算机上不能有多个信道监听同一个端口.NET提供了HTTP和TCP信道HTTP信道默认使用SOAP协议来传输XML消息TCP信道默认使用TCP协议来传输二进制消息比SOAP快,但不具备开放性举例:编程实现在8085端口上注册TCP信道,13.1.2信道和格式化程序,usingSystem.Runtime.Remoting.Channels;usingSystem.Runtime.Remoting.Channels.Tcp;TcpChannelchan=newTcpChannel(8085);ChannelServices.RegisterChannel(chan);,信道和格式化程序(续),选择信道时要注意的安全性问题推荐使用HTTP信道,用IIS作为远程对象的宿主IIS提供了网络级的安全保护,如SSL,NTLM等TCP信道没有像HTTP信道那样提供强壮的安全认证不推荐在Internet或不安全局域网内使用TCP信道可以使用System.Security.Cryptography命名空间下的类对传输的数据进行加密,13.1.2信道和格式化程序,激活和代理,在调用远程对象前,客户端必须先激活它通过调用New、Activator.CreateInstance和Activator.GetObject来激活远程对象激活返回被客户端用来访问远程对象的委托在客户端用委托来代表远程对象委托封送客户端的调用,并返回调用结果和异常服务器端激活服务器自动初始化SingleCall对象只处理单一请求(无状态)Singleton对象可服务多个客户端和请求(有状态)客户端激活由客户端显式调用激活为特定客户端维护方法调用间的状态,13.1.3激活和代理,基于租约的生存期,租约机制控制客户端激活的远程对象的生存期一个对象租约期可以延长的当对象租约期到零时该对象将与远程处理结构断开连接当AppDomain内对该对象的所有引用都释放后,该对象将由垃圾回收器回收使用租约管理远程对象的生存期是引用计数的一种替代方法,13.1.4基于租约的生存期,对象封送处理,远程实例化的对象通过引用返回并被客户端通过委托访问远程处理中的参数、返回值和字段可以分为如下三类值封送对象-对象的拷贝在应用程序域之间封送-值类型必须是可序列化的引用封送对象-在应用程序域之间封送对象的引用-类必须是System.MarshalByRefObject的派生类不封送对象-只适合在本地使用-既不可以由值封送也不可以由引用封送的对象,13.1.5对象封送处理,服务器端,注册信道用下列方式注册信道调用RegisterWellKnownServiceType方法或者使用配置文件,13.1.6服务器端,RemotingConfiguration.RegisterWellKnownServiceType(typeof(HelloServer),SayHello,WellKnownObjectMode.SingleCall);,RemotingConfiguration.Configure(MyHello.exe.config);,客户端,注册信道使用下列方法激活远程对象Activator.GetObject或者用New和配置文件,13.1.7客户端,HelloServerobj=(HelloServer)Activator.GetObject(typeof(RemotingSamples.HelloServer),tcp:/localhost:8085/SayHello);,RemotingConfiguration.Configure(MyHello.exe.config);HelloServerobj=newHelloServer();,ChannelServices.RegisterChannel(newTcpChannel();,客户端编译技术,当客户端被编译时,编译器需要服务器端类的信息服务器端类的信息可通过下列方式取得提供类所在程序集的引用把远程对象分为实现类和接口类型用Wsdl.exe工具直接从终结点取得需要的元数据,13.1.8客户端编译技术,第13章远程处理和XMLWebService,远程处理远程处理配置文件XMLWebService,远程处理配置文件,使用RemotingConfiguration类上的configure方法应用程序配置文件是一个XML文档配置文件是区分大小写的可在计算机和应用程序级别上指定配置文件应用程序级别上的配置比计算机级别上配置优先级高更多信息请查看.NETFrameworkSDK文档中的“远程处理配置文件格式”,RemotingConfiguration.Configure(MyApp.exe.config);,13.2远程处理配置文件,实验A使用远程服务器创建一个订单处理程序,练习1创建一个身份验证XMLWebService练习2创建订单处理服务器练习3创建测试客户端,第13章远程处理和XMLWebService,远程处理远程处理配置文件XMLWebService,XMLWebService,ASP.NETXMLWebService概述ASP.NET特性访问XMLWebServiceXMLWebService发现,13.3XMLWebService,ASP.NETXMLWebService概述,以.asmx为扩展名的ASP.NET文件是XMLWebservicesHelloWorld.asmx文件中的例子如果该文件被放在Foo服务器上的Bar虚拟目录中通过如下方式访问服务用如下方法访问服务的WSDL,13.3.1ASP.NETXMLWebService概述,usingSystem;usingSystem.Web.Services;publicclassHelloWorld:WebServiceWebMethodpublicStringSayHelloWorld()returnHelloWorld;,http:/Foo/Bar/HelloWorld.asmx?wsdl,http:/Foo/Bar/HelloWorld.asmx,ASP.NET特性,ASP.NET可以对外提供定义在.NET类中的XMLWebservices该类继承自WebService,方法带有WebMethod属性类的资源文件被编译成DLL库并放在Bin目录中类的命名在.asmx文件中只用一行来描述ASP.NET高级特性包括Datasets、Global.asax、Session和Application对象,文本模式匹配,13.3.2ASP.NET特性,namespaceMyNameSpacepublicclassHelloWorld:WebServiceWebMethodpublicStringSayHelloWorld()returnHelloWorld;,csc/out:binhelloworld.dll/t:libraryhelloworld.cs,访问XMLWebService,使用Wsdl.exe来创建XMLWebservice的代理类标识对象或服务的URI用/language(/:)选项,以服务的URI为参数运行Wsdl.exe编写客户端代码调用远程对象编译客户端和代理代码,13.3.3访问XMLWebService,http:/localhost/MathService/Service1.asmx,wsdlhttp:/localhost/MathService/Service1.asmx?wsdl,cscsalestaxclient.csservice1.cs,Service1salesTaxService=newService1();floattotalAmount=salesTaxService.SalesTax(amount,taxRate);,XMLWebService发现,XMLWebService发现是查找并查询XMLWebService说明的过程XMLWebService发现目前正在不断发展Disco是Microsoft的XMLwebservices发现工具Disco文件包含指向描述该XMLWebServices的其他资源的链接Disco目前由VisualStudio.NET创建和使用统一描述、发现和集成项目提供了一个开放框架,用于描述Web服务、发现业务以及集成使用Internet的业务服务跨行业支持和平台独立更多信息,访问htt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东清远市英德市建筑工程检测站有限公司招聘员工1人模拟试卷及答案详解(名师系列)
- 2025内蒙古工业大学事业编制工作人员招聘10人考前自测高频考点模拟试题及答案详解(全优)
- 2025年洮南市面向社会公开招聘化工园区特勤站政府专职消防员聘用人员考前自测高频考点模拟试题附答案详解(黄金题型)
- 2025年吉林松辽水利水电咨询有限责任公司公开招聘模拟试卷及1套完整答案详解
- 2025春季四川叙永县委组织部叙永县人力资源和社会保障局叙永县事业单位人才岗位需求70人模拟试卷及答案详解(必刷)
- 2025贵州黔东南州第十三届贵州人才博览会黔东南州事业单位人才引进19人模拟试卷及完整答案详解一套
- 2025年安徽白帝集团有限公司及所属子公司春季招聘8人模拟试卷带答案详解
- 2025贵州黔西市招募青年就业见习人员81人考前自测高频考点模拟试题参考答案详解
- 2025届春季中国广核集团校园招聘考前自测高频考点模拟试题及1套参考答案详解
- 2025年哈尔滨延寿县公安局公开招聘第二批警务辅助人员32人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025海康威视视频安全门禁系统使用手册
- 安检流程课件
- 2025-2026学年沪教牛津版(深圳用)小学英语五年级上册教学计划及进度表
- 带状疱疹后神经痛护理查房
- 保密文印管理办法
- 肝癌的中医护理
- 高血糖健康宣教
- 2025年安徽职业技术学院单招职业技能考试题库附答案
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案
- 二年级上册道德与法治期末测试卷含完整答案(有一套)
- 《房产测绘数据库存储管理规范》
评论
0/150
提交评论