C# WCF通知服务url更改

C# WCF通知服务url更改,c#,wcf,push-notification,connection,C#,Wcf,Push Notification,Connection,我是WCF的新手,我正在尝试为我的桌面应用程序实现推送通知解决方案。我试图使用WCF服务实现它,并利用WCF的回调特性 我在网上找到了一些帮助我创建应用程序的方法。虽然有一个小问题 该示例建议客户端添加对服务的引用。这一切都很好,只是我需要连接URI是动态的。服务器可以在应用程序生命周期的任何给定时间将我路由到不同的通知URL,与当前通道的连接需要关闭,另一个与另一台服务器的连接应该打开 如何更改示例,以便客户端可以在任何给定时间连接到不同的服务。我的建议是获取URL作为参数,比如strUrl,

我是WCF的新手,我正在尝试为我的桌面应用程序实现推送通知解决方案。我试图使用WCF服务实现它,并利用WCF的回调特性

我在网上找到了一些帮助我创建应用程序的方法。虽然有一个小问题

该示例建议客户端添加对服务的引用。这一切都很好,只是我需要连接URI是动态的。服务器可以在应用程序生命周期的任何给定时间将我路由到不同的通知URL,与当前通道的连接需要关闭,另一个与另一台服务器的连接应该打开


如何更改示例,以便客户端可以在任何给定时间连接到不同的服务。

我的建议是获取URL作为参数,比如strUrl,然后在代码中配置端点,而不是appConfig

public void OpenConnection(string strUrl)
{
  var myBinding = new BasicHttpBinding();
  var myEndpoint = new EndpointAddress(strUrl);
  var myChannelFactory = new ChannelFactory<IMyService>(myBinding, myEndpoint);

  IMyService client = null;

  try
  {
    client = myChannelFactory.CreateChannel();
    client.MyServiceOperation();
    ((ICommunicationObject)client).Close();
  }
  catch
  {
   //...
  }
}
public void OpenConnection(字符串strUrl)
{
var myBinding=new BasicHttpBinding();
var myEndpoint=新端点地址(strUrl);
var myChannelFactory=新的ChannelFactory(myBinding,myEndpoint);
IMyService client=null;
尝试
{
client=myChannelFactory.CreateChannel();
client.MyServiceOperation();
((ICommunicationObject)client.Close();
}
抓住
{
//...
}
}

很抱歉,正如我所说,我对WCF比较陌生。你检查过我在问题中提到的样本了吗?我真的看不出你的解决方案适合哪里。你能告诉我所给样品的上下文吗?