1
我正在使用ICommunicationObject.State來檢查通道狀態。 問題是,一旦它變成打開狀態,它在發生故障時不會再次更改。ICommunicationObject.State未更新
我添加了一個樣本的我的代碼 感謝
AnnouncementClient _client;
void func1()
{
try
{
Monitor.Enter(_lock);
if (_isDiscoveryProxyConnected)
{
if (_client.InnerChannel.State == CommunicationState.Faulted)
{
_isDiscoveryProxyConnected = false;
}
}
else
{
_client = new AnnouncementClient(new AnnouncementEndpoint(binding, announcementEndPoint));
foreach (var endpointDiscoveryMetadata in _endpoints)
{
_client.AnnounceOnline(endpointDiscoveryMetadata);
_discoveryProxyMetadata = endpointDiscoveryMetadata;
}
_isDiscoveryProxyConnected = true;
}
}
}