我正在使用.NET WCF服务,该服务从另一个.NET应用程序接受JSON数据作为HTTP Post。
当我发布少量数据时,一切正常(〜高达65kb的数据)
然而,当我尝试发布更多内容时,我在服务端收到内部服务器错误。
一切都指向服务仅限于接受高达65kb的数据。
我已阅读有关修改配置文件以使用maxrequestmessagesize属性接受更多数据的信息,但我的问题是我的web.config没有任何我能看到的绑定。
以下是我的配置文件中与服务相关的内容
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<!-- To avoid disclosing metadata information, set the value below to false and remove the metadata endpoint above before deployment -->
<serviceMetadata httpGetEnabled="true"/>
<!-- To receive exception details in faults for debugging purposes, set the value below to true. Set to false before deployment to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
我不知道该怎么办才能超过65 k的限制 - 任何帮助都会受到赞赏。
由于
答案 0 :(得分:2)
在您的配置中使用此功能:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ImyService"
maxBufferPoolSize="2147483647"
maxReceivedMessageSize="2147483647">
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
答案 1 :(得分:1)
我只是快速浏览一下,我在不同的地方有4个设置为我的WCF服务“提高请求大小栏”:
maxarraylength(binding / readerquotas标签) maxbuffersize(绑定标记) maxreceivedmessagesize(绑定标记) maxrequestlength(system.web / httpruntime tag)
我不确定为什么配置中没有绑定。也许如果没有指定,那么使用默认值?你有任何服务/服务/端点标签吗?也许你是通过代码设置这些?