WCF 客户端动态设置 WCF 服务器主机的地址的方法参考,可以连接多个相同 WCF 主机的方法 最近做一个项目,需要在客户端灵活配置连接到哪个服务器的功能,例如客户端是一个,现在想连接 A 服务器就连 A 服务器,想连接 B 服务器就连接 B 服务器,当然不需要手动修改配置文件,直接通过程序来实现 WCF 目标主机的配置功能。 参考核心代码如下://--------------------------------------------------------------------// All Rights Reserved , Copyright (C) 2024 , Hairihan TECH, Ltd. //--------------------------------------------------------------------using System.ServiceModel;namespace DotNet.WCFClient{ using DotNet.IService; using DotNet.Utilities; ///
/// ServiceFactory /// 本地服务的具体实现接口 /// /// 修改纪录 /// /// 2024.07.03 版本:2.0 JiRiGaLa 可以动态指定服务器地址的调用方法。 /// 2024.09.20 版本:1.0 JiRiGaLa 创建。 /// /// 版本:2.0 /// /// /// JiRiGaLa /// 2024.07.03 /// /// public class ServiceFactory : IServiceFactory { private string host = string.Empty; ///
/// 主机地址 /// Host = "192.168.0.122"; /// public string Host { get { return host; } set { host = value; } } private int port = 0; ///
/// 端口号 /// public int Port { get { return port; } set { port = value; } } public ServiceFactory() { } ///
/// 初始化服务 /// public void InitService() { } ///
/// 动态设定 WCF 主机地址端口的方法 /// ///
主机地址 ///
主机地址 public virtual EndpointAddress GetHotsUrl(EndpointAddress address) { // 若当前配置都是空的,就不用生成新的 URL 了。 if (string.IsNullOrEmpty(Host) && (Port == 0)) { return address; } // 推断当前配置的情况 string endpointAddress = string.Empty; if (string.IsNullOrEmpty(Host)) { Host =...