我在Sharepoint上托管了一个WCF服务。我一直在尝试以字节数组的形式传输大数据,但我一直在收到这些400-Bad Request错误。我已经尝试将消息和缓冲区大小限制设置为较大的值,但似乎没有任何效果。这是我对客户端的绑定配置,
<basicHttpBinding>
<binding name="BasicHttpBinding_IOntolicaFASTService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" maxBufferSize="67108864" maxBufferPoolSize="524288" maxReceivedMessageSize="67108864" messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Ntlm" proxyCredentialType="None" realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
问题主要在于服务器端,因为在Sharepoint中使用[BasicHttpBindingServiceMetadataExchangeEndpointAttribute]作为WCF服务时,我无法在那里设置这些参数。所以我想知道是否有办法手动配置它们。
这里的任何帮助都将受到高度赞赏。
法赫德
答案 0 :(得分:1)
我能够通过基于Sharepoint默认的MultipleBaseAddressBasicHttpBindingServiceHostFactory创建自定义服务主机工厂来解决问题。工作得很完美!