WCF单向操作异常处理

时间:2014-08-11 13:25:48

标签: c# wcf

我使用单向WCF服务合同将数据从服务器推送到一组注册客户端。该应用程序大多数工作正常,但用户报告生产环境中偶尔会断开连接。

当我尝试重现开发中的错误时,例如。通过杀死服务器,我看到异常的原因在$ exception debugger变量中可用(如下所示)。我已经阅读了here,它无法在代码中检索此错误的值,但是是否可以使用某种技术或配置捕获并记录此错误?

我认为在双向RPC类型调用中它会非常简单,但是使用单向契约它并不像文档中那么清楚。我会喜欢能够运行WCF网络跟踪工具,但由于断开连接是间歇性的,生产环境相当严重,所以我不能轻易做到这一点

enter image description here

以下是服务合同的摘录:

[OperationContract(IsOneWay = true)]
void SendGridState(GridState grid);

服务绑定:

var binding = new NetTcpBinding
{
    MaxBufferPoolSize = int.MaxValue,
    MaxBufferSize = int.MaxValue,
    MaxReceivedMessageSize = int.MaxValue,
    ReceiveTimeout = TimeSpan.MaxValue,
    ReliableSession = { InactivityTimeout = TimeSpan.MaxValue }
};

故障事件处理程序:

clientChannel.Faulted += delegate
{
    connectionStatus = CommunicationState.Faulted;
}

0 个答案:

没有答案