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;
}
}
}