WCF客户端动态设置WCF服务器主机
《WCF客户端动态设置WCF服务器主机》由会员分享,可在线阅读,更多相关《WCF客户端动态设置WCF服务器主机(12页珍藏版)》请在装配图网上搜索。
1、WCF客户端动态设置WCF服务器主机的地址的方法参考,可以连接多个相同WCF主机的方法 最近做一个项目,需要在客户端灵活配置连接到哪个服务器的功能,例如客户端是一个,现在想连接A服务器就连A服务器,想连接B服务器就连接B服务器,当然不需要手动修改配置文件,直接通过程序来实现WCF目标主机的配置功能。 参考核心代码如下:/-/AllRightsReserved,Copyright(C)2011,HairihanTECH,Ltd./-usingSystem.ServiceModel;namespaceDotNet.WCFClientusingDotNet.IService;usingDotNet.
2、Utilities;/ServiceFactory/本地服务的具体实现接口/修改纪录/2011.07.03版本:2.0JiRiGaLa可以动态指定服务器地址的调用方法。/2009.09.20版本:1.0JiRiGaLa创建。/版本:2.0/JiRiGaLa/2011.07.03/publicclassServiceFactory:IServiceFactoryprivatestringhost=string.Empty;/主机地址/Host=192.168.0.122;/publicstringHostgetreturnhost;sethost=value;privateintport=0;/
3、端口号/publicintPortgetreturnport;setport=value;publicServiceFactory()/初始化服务/publicvoidInitService()/动态设定WCF主机地址端口的方法/主机地址/主机地址publicvirtualEndpointAddressGetHotsUrl(EndpointAddressaddress)/若当前配置都是空的,就不用生成新的URL了。if(string.IsNullOrEmpty(Host)&(Port=0)returnaddress;/判断当前配置的情况stringendpointAddress=string.
4、Empty;if(string.IsNullOrEmpty(Host)Host=address.Uri.Host;if(Port=0)Port=address.Uri.Port;endpointAddress=address.Uri.Scheme+:/+Host+:+Port.ToString()+address.Uri.LocalPath;address=newEndpointAddress(endpointAddress);returnaddress;publicvirtualISequenceServiceCreateSequenceService()ChannelFactorychan
5、nelFactory=newChannelFactory(DotNet.Service.SequenceService);channelFactory.Endpoint.Address=GetHotsUrl(channelFactory.Endpoint.Address);/加强安全验证防止未授权匿名调用channelFactory.Credentials.UserName.UserName=BaseSystemInfo.ServiceUserName;channelFactory.Credentials.UserName.Password=BaseSystemInfo.ServicePassword;ISequenceServiceproxy=channelFactory.CreateChannel();returnproxy;复制代码 配套的配置文件参考如下:复制代码
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。