WCF:服务器端和客户端的相同配置文件?

时间:2015-04-21 07:43:08

标签: c# wcf-binding

我的WCF服务随机挂起。当我尝试使用 Microsoft服务跟踪查看器进行调试时,我发现我正在使用

  

套接字连接已中止。这可能是由错误引起的   处理您的消息或超过接收超时   远程主机或底层网络资源问题。本地套接字   超时是'00:01:00'。

因此我更改了网络管道绑定部分( 服务器端 )中的“receiveTimeout”。

  

服务器端

  <netNamedPipeBinding>
    <binding name="myPipeBinding"
             receiveTimeout="24:0:0">
    </binding>
  </netNamedPipeBinding>

然后我尝试使用Visual Studio 2013“更新服务参考”更新客户端的配置文件。它为我提供了 客户端 中的新App.config。

 <bindings>
  <netNamedPipeBinding>
    <binding name="NamedPipedService" />
  </netNamedPipeBinding>
</bindings>
<client>
  <endpoint address="net.pipe://localhost/Server" binding="netNamedPipeBinding"
    bindingConfiguration="NamedPipedService" contract="WCFService.IServer"
    name="NamedPipedService">
    <identity>
      <userPrincipalName value="Server\MyComputer" />
    </identity>
  </endpoint>
</client>

我认为一切正常但我的服务再次崩溃并出现同样的错误。所以我认为“netNamedPipeBinding”的“receiveTimeout”部分也应该添加到客户端的App.config文件中。我的问题是

  1. 由于Net pipe binding的默认超时值,我得到的错误是什么?
  2. 我应该设置receiveTimeout值(服务器端)吗?
  3. 我是否还需要更改客户端的App.config文件才能使更改生效?由于Visual Studio 2013更新不会添加receiveTimeout部分。

0 个答案:

没有答案