我正在为我的实验室进行更改,希望能帮助诊断我们看到的一些奇怪的通道故障怪异。有一个测试应用程序使用 DuplexChannelFactory 连接到几个 Windows 服务,由于某种原因,这个测试应用程序上的通道似乎有很多错误。我计划在那里实现一些重试逻辑,但如果能弄清楚它们究竟为什么会出错,那就太好了。
我知道通道工厂和代理对象都实现了很多接口,我已经使用反射器爬过其中的一些,但是我没有找到任何像我要找的东西。有没有办法在这些对象出现故障后查询这些对象,以获取有关导致故障的原因的一些信息?
编辑:配置非常基本——绑定只是默认构造的 NetTcpBinding,服务实现具有[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Reentrant)]
,并且服务合同中的任何操作都没有特殊属性。但是,我更多地询问有关诊断通道故障的一般技术,而不是诊断这种特定情况。我不希望配置细节对此产生太大影响。如果有的话,配置详细信息将是所述诊断返回的内容,对吗?