Windows服务中的WCF主机,动态更改URL

时间:2010-11-17 09:02:17

标签: windows wcf service hosting

我想通过Windows服务托管一个wcf服务。在客户端应用程序中,我想提供一个功能,客户可以选择他想要使用哪个wcf服务。

情景中,

  1. MacA上的Windows服务中的主机WCF
  2. MacB上的Windows服务中的主机WCF,两种服务都相同。
  3. 现在,客户可以选择MacA服务或MacB服务。
  4. 谢谢, Mrinal Jaiswal

1 个答案:

答案 0 :(得分:0)

首先,您必须将WCF网址放在客户端的app.config中,然后在登录表单上,您可以要求用户指定服务的IP和端口。

以下是我的一个项目中的一些代码:

private void btnLogin_Click(object sender, EventArgs e)
{
            string url = "net.tcp://" + txtServer.Text + ":" + txtPort.Text + "/NoxService/";
            Program.Config.AppSettings.Settings["ServerAddress"].Value = url;
            Program.Config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("appSettings");
            //set server ip
            Program.NoxProxy.Endpoint.Address = new System.ServiceModel.EndpointAddress(ConfigurationManager.AppSettings["ServerAddress"]);
}