bwe*_*rks 4 debugging wcf diagnostics channelfactory duplex-channel
我正在为我的实验室进行更改,这将有望帮助诊断我们所看到的一些奇怪的通道故障怪异现象。有一个使用DuplexChannelFactory连接到几个Windows服务的测试应用程序,由于某种原因,该测试应用程序上的通道似乎有很多故障。我计划在其中实现一些重试逻辑,但是弄清楚它们究竟是为什么出错的,这将是很好的。
我知道通道工厂和代理对象都实现了很多接口,并且我使用了反射器来对其中的一些进行爬网,但是我没有找到想要的东西。有没有一种方法可以在对象发生故障后查询这些对象,以获取有关导致故障的原因的某些信息?
编辑:配置非常基本-绑定只是默认构造的NetTcpBinding,服务实现具有[ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Reentrant)]
,并且服务协定中的任何操作上都没有特殊属性。但是,我想问更多有关诊断通道故障的常规技术,而不是诊断这种特殊情况。我不希望配置细节对此有太大影响。如果有的话,配置详细信息将是上述诊断返回的信息,对吗?
Ladislav和Shiraz的答案都很好,我给了他们+1。
我可以添加的所有信息通常是通道故障是服务器上未处理的异常的结果。发生这种情况时,WCF认为服务器存在根本上的错误,并导致通道故障,使其无法使用。
正确的方法-我认为应该是默认的,并且是免费的-是让服务捕获异常并创建FaultException并将其返回(请看此表单示例http://www.c-sharpcorner.com/UploadFile) /ankithakur/ExceptionHandlingWCF12282007072617AM/ExceptionHandlingWCF.aspx)
WCF未设置为默认值的原因是它更改了合同和WSDL,因此客户端必须获取更新的WSDL。
因此,如果我是您,我将捕获异常,将其记录下来,然后返回故障异常,这样,我将知道问题出在哪里,并且通道没有故障。
归档时间: |
|
查看次数: |
6935 次 |
最近记录: |