0

我有一个 WCF 服务,它作为 Windows 服务托管,由客户端通过代理类调用。代理类中的方法如下所示:

    public CustomerResponse GetCustomers(CustomerRequest request)
    {
        try
        {
            return Channel.GetCustomers(request);
        }
        catch (Exception ex)
        {
            throw ex;
        }
    }

GetCustomer 目前从我的数据库中返回了大约 1000 条记录。问题是这样的:

  1. 我已经在 4 台不同的 PC 上运行了我的程序,我只在其中 2 台上遇到了这个错误。其他2个都很好,都具有相同的设置

  2. 在有此问题的 2 台 PC 上,当我将数据库中的客户记录数从 1000 条降低到 200 条时,问题就解决了。

  3. 我已经在配置文件中使用了我知道的所有设置

这是异常消息

套接字连接被中止。这可能是由于处理您的消息时出错或远程主机超出接收超时,或者是潜在的网络资源问题造成的。本地套接字超时为“00:00:59.9863281”。

我很确定这不是超时问题,因为异常会在不到一秒的时间内返回。

这是我在服务器上的配置文件

<services>
  <service name="CustomerService" behaviorConfiguration="DefaultBehaviour">
    <endpoint address="CommonService" binding="netTcpBinding" bindingConfiguration="customTcpBinding"
      contract="ICustomerService">
      <identity>
        <dns value="localhost" />
      </identity>
    </endpoint>       
    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost:8542/CustomerService" />
      </baseAddresses>
    </host>
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="DefaultBehaviour">

      <serviceMetadata httpGetEnabled="false" />
      <serviceDebug includeExceptionDetailInFaults="true" />
    </behavior>
  </serviceBehaviors>
</behaviors>

这是 MVC 项目的配置文件

<bindings>
      <netTcpBinding>
        <binding name="customTcpBinding" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647">
          <security mode="None"/>
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
        </binding>
      </netTcpBinding>
    </bindings>

    <endpoint address="net.tcp://localhost:8542/CustomerService" binding="netTcpBinding" bindingConfiguration="customTcpBinding" contract="ICustomerService" name="NetTcpBinding_CustomerService">
        <identity>
          <dns value="localhost"/>
        </identity>
    </endpoint>
4

0 回答 0