WCF 错误:101 页面不可用

Posted

技术标签:

【中文标题】WCF 错误:101 页面不可用【英文标题】:WCF Error:101 Page is not available 【发布时间】:2011-07-24 03:08:31 【问题描述】:

我在 WCF Rest 服务上遇到了这个问题。当数据变得超过 1.2MB 时,它会在 chrome 中给我一个“错误:101 此网页不可用”。在 Firefox 中,它的“连接已重置”。但是,它适用于小数据。顺便说一下,数据只是一个普通的 JSON。

下面是我的配置:

WebConfig(绑定配置):

<basicHttpBinding>
    <binding name="basicHttpBindingConfig" 
        closeTimeout="00:30:00" 
        openTimeout="00:30:00" 
        receiveTimeout="Infinite" 
        sendTimeout="00:30:00" 
        maxBufferPoolSize="2147483647" 
        maxReceivedMessageSize="2147483647" 
        maxBufferSize="2147483647">
                <readerQuotas 
        maxDepth="2147483647" 
        maxStringContentLength="2147483647" 
        maxArrayLength="2147483646" 
        maxBytesPerRead="2147483647" 
        maxNameTableCharCount="2147483647" />
    </binding>
</basicHttpBinding>

  <webHttpBinding>
    <binding name="webclientHttpBindingConfig" 
        closeTimeout="00:30:00" 
        openTimeout="00:30:00" 
        receiveTimeout="Infinite" 
        sendTimeout="00:30:00" 
        maxBufferPoolSize="2147483647" 
        maxReceivedMessageSize="2147483647" 
        maxBufferSize="2147483647">
      <readerQuotas 
        maxDepth="2147483647" 
        maxStringContentLength="2147483647" 
        maxArrayLength="2147483646" 
        maxBytesPerRead="2147483647" 
        maxNameTableCharCount="2147483647" />
    </binding>
  </webHttpBinding>

AppConfig(绑定配置):

   <basicHttpBinding>
    <binding name="basicBindingForBigArrays" 
        maxBufferSize="2147483647"
        maxBufferPoolSize="2147483647" 
        maxReceivedMessageSize="2147483647"
        messageEncoding="Mtom">
      <readerQuotas 
        maxDepth="2147483647" 
        maxStringContentLength="2147483647"
        maxArrayLength="2147483647" 
        maxBytesPerRead="2147483647" 
        maxNameTableCharCount="2147483647" />
    </binding>
  </basicHttpBinding>

  <webHttpBinding>
    <binding name="webHttpBindingConfig"
        maxBufferSize="2147483647"
        maxBufferPoolSize="2147483647" 
        maxReceivedMessageSize="2147483647" >
      <readerQuotas 
        maxDepth="2147483647" 
        maxStringContentLength="2147483647" 
        maxArrayLength="2147483646" 
        maxBytesPerRead="2147483647" 
        maxNameTableCharCount="2147483647"/>
    </binding>
  </webHttpBinding>

我已经为此苦苦挣扎了好几个小时。非常感谢您的想法。

最好的问候,

【问题讨论】:

【参考方案1】:

如果您正在运行 IIS,则需要确保设置了最大 HTTP 帖子大小:

<httpRuntime maxRequestLength="8192" />

8MG 是默认值,但您的情况可以设置为 1MB。有关信息请查看here。

【讨论】:

这个应该只放在客户端吗? 我在客户端/web.config上有它:"" 我不确定你的意思,但我已经把它放在了我的 web.config 和我的 app.config 中,只是为了确保。该 web.config 是托管在 IIS 上的那个。 -=仍然不工作=- 我仍然有同样的错误。

以上是关于WCF 错误:101 页面不可用的主要内容,如果未能解决你的问题,请参考以下文章

如果Flask应用程序在Google App Engine中不可用,如何提供默认错误页面

RESTful WCF 服务返回“找不到资源”。错误

vs2010 用户控件拖到aspx页面不可用

HTTP 错误 503。该服务在 IIS 中不可用

显示错误信息是互联网不可用

没有可用的互联网连接时如何添加自定义错误页面