我是WCF的新手,我正在尝试为我的桌面应用程序实现推送通知解决方案。我正在尝试使用WCF服务实现它并使用WCF的回调功能。
我在网上找到了this sample,在创建应用程序时帮了我很多忙。虽然有一个小问题。
示例表明客户端应添加对服务的引用。这很好,除了我需要连接URI是动态的。服务器可以在应用程序生命周期的任何给定时间将我路由到不同的通知URL,并且需要关闭与当前通道的连接,并且另一个连接应该打开到另一个服务器。
如何更改示例,以便客户端可以在任何给定时间连接到其他服务。
答案 0 :(得分:0)
我的建议是将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
{
//...
}
}