首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >basicHttpBinding maxBufferSize

basicHttpBinding maxBufferSize
EN

Stack Overflow用户
提问于 2014-09-12 06:28:37
回答 1查看 1.7K关注 0票数 1

我关注了这篇文章(WCF - How to Increase Message Size Quota),并将MaxBuffer大小设置为最大,但我仍然收到错误消息。我还能改变什么?

我使用Fiddler查看响应,它有67,934个字节。下面是绑定。

代码语言:javascript
复制
<basicHttpBinding>
    <binding name="MCPClaimsService_InterfaceSOAP"
             maxReceivedMessageSize="21474836470"
             maxBufferSize="2147483647"
             maxBufferPoolSize="2147483647">
      <readerQuotas maxDepth="32"
                maxArrayLength="2147483647"
                maxStringContentLength="2147483647"/>
    </binding>
</basicHttpBinding>

这段代码有一个自定义绑定。不是我写的。

代码语言:javascript
复制
       public static CustomBinding HttpsSSLBinding()
       {
           var textmessageEncoding = new TextMessageEncodingBindingElement();

           textmessageEncoding.WriteEncoding = Encoding.UTF8;
           textmessageEncoding.MessageVersion = MessageVersion.Soap11;

           MessageSecurityVersion securityVersion = MessageSecurityVersion.WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10;

           AsymmetricSecurityBindingElement bindingElement =
           (AsymmetricSecurityBindingElement)SecurityBindingElement.CreateMutualCertificateBindingElement(securityVersion, true);


           bindingElement.SetKeyDerivation(false);
           bindingElement.EnableUnsecuredResponse = true;

           X509SecurityTokenParameters istp = bindingElement.InitiatorTokenParameters as X509SecurityTokenParameters;
           if (istp != null)
           {
               istp.X509ReferenceStyle = X509KeyIdentifierClauseType.IssuerSerial;
               istp.InclusionMode = SecurityTokenInclusionMode.Never;
           }

           X509SecurityTokenParameters rstp = bindingElement.RecipientTokenParameters as X509SecurityTokenParameters;
           if (rstp != null)
           {
               rstp.X509ReferenceStyle = X509KeyIdentifierClauseType.IssuerSerial;
               rstp.InclusionMode = SecurityTokenInclusionMode.Never;
           }

           HttpsTransportBindingElement transport = new HttpsTransportBindingElement();

           return new CustomBinding(bindingElement, textmessageEncoding, transport);
       }
   }
EN

回答 1

Stack Overflow用户

发布于 2014-09-12 07:29:10

在我意识到除了app.config中的绑定语句之外,它还有一个自定义绑定后,我在自定义绑定代码中添加了以下几行代码,这样就解决了问题。希望这种浪费我的时间的做法能在未来帮助一些人。

代码语言:javascript
复制
           transport.MaxBufferSize = 2147483647;
           transport.MaxReceivedMessageSize = 2147483647;
           transport.MaxBufferPoolSize = 2147483647;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25797969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档