如果长时间访问,WCF会在第一次间歇性地抛出错误

时间:2015-09-08 05:36:41

标签: c# wcf

每当我在白天或长时间第一次访问服务时,WCF会间歇性地抛出错误。

"服务器未提供有意义的回复;这可能是由合同不匹配,过早的会话关闭或内部服务器错误引起的。"

否则,它在每种情况下都能正常工作。我无法理解为什么会出现这种错误? P.s:我已经引用了许多线程并尝试了配置更改,检查了代理不匹配,但它们都没有为我工作。 请指导我,否则我必须在服务中添加重试选项

更新
客户端配置

<endpoint address="xxxxx" binding="basicHttpBinding" bindingConfiguration="Binding1" contract="IService" name="BasicEndPoint" />

<binding name="Binding1" maxReceivedMessageSize="99999999"
closeTimeout="00:05:00" openTimeout="00:05:00"
sendTimeout="00:05:00" receiveTimeout="00:05:00" >
          <readerQuotas maxStringContentLength="99999999" />
          <security mode="TransportCredentialOnly">
          <transport clientCredentialType="Ntlm"/>
        <message clientCredentialType="UserName" algorithmSuite="Default"/>
      </security>
    </binding>
  </basicHttpBinding>
</bindings>


<binding name="BasicEndPoint" closeTimeout="00:03:00" openTimeout="00:03:00"
                receiveTimeout="00:10:00" sendTimeout="00:03:00" allowCookies="false"
                bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
                maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
                messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
                useDefaultWebProxy="true">
      <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
          maxBytesPerRead="4096" maxNameTableCharCount="16384" />
      <security mode="Transport">
        <transport clientCredentialType="Windows" proxyCredentialType="None"
            realm="" />
        <message clientCredentialType="UserName" algorithmSuite="Default" />
      </security>
    </binding>

服务配置:

 <binding name="Binding1" maxReceivedMessageSize="99999999">
      <readerQuotas maxStringContentLength="99999999" />
      <security mode="None">
      </security>
    </binding>

1 个答案:

答案 0 :(得分:0)

Okey,在我使用WCF服务期间,我收到了很多奇怪的错误消息。我从中学到的是,他们并没有那么多意义。

当说,当你描述你的问题时,这听起来像我使用过的一个使用命名管道的WCF服务的一个问题。这是与激活有关的问题。然后我不得不在浏览器中刷新服务地址然后它工作正常。要解决这是一个许可问题。

另外一件让我错误消息的事情是,web.config中的命名空间和服务合同是正确的。

当我在Google上搜索您的错误消息时,似乎有些人认为这与服务中的枚举有关。我不认为这是你的问题,但也许...... WCF catches exception " The server did not provide a meaningful reply.."