0

我有一个代码可以从一个具有多个实例的客户端访问多个 wcf 服务器。如果这之间有任何连接丢失,请使用故障/关闭事件触发功能来处理此问题。

((ICommunicationObject)notificationProviderClient).Faulted += new EventHandler(myHost_Faulted); ((ICommunicationObject)notificationProviderClient).Closed += new EventHandler(myHost_Closed);

void myHost_Faulted(object sender, EventArgs e) {

}

void myHost_Closed(object sender, EventArgs e) {

}

如果任何连接出现故障/关闭,则调用上述函数。在这种情况下,如何找到与 clent 丢失的 wcf 服务器连接?有没有可能找到这个,或者我们必须寻找另一种方法来处理这个?

4

1 回答 1

0

在连接丢失期间查找服务器的远程地址,在客户端使用它

this.notificationProviderClient.InnerDuplexChannel.Faulted += new EventHandler(myHost_Faulted);

void myHost_Faulted(object sender, EventArgs e) {

    IContextChannel channel = sender as IContextChannel;

    if (channel  != null)
    {
      var remoteAddrs = a1.RemoteAddress;
    }

}

于 2013-07-19T11:59:45.700 回答