2014-02-11 131 views
0

我們如何在WCF服務端定義最大緩衝區大小的綁定,而不是在客戶端進行。有人可以告訴我這是否可行嗎?我不想在客戶端自定義綁定。服務端WCF綁定

+0

在您的服務器上創建一個適當的配置文件。如果你在IIS中託管你的WCF服務,你需要一個'web.config',如果你自己託管了WCF服務,你需要一個'app.config'給主機應用程序。 –

回答

0

這可能對你有幫助! Add maxRequestLength = 214748364 in Web.Config

<system.web> 
    <compilation debug="true" targetFramework="4.5" /> 
    <httpRuntime targetFramework="4.5" maxRequestLength="2147483647" executionTimeout="300"/>  
</system.web> 

如果它不工作,在標籤添加這一點。

<bindings> 
     <webHttpBinding> 
      <binding name="webHttpBG" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" 
maxBufferPoolSize="21474836470" closeTimeout="00:01:00" openTimeout="00:01:00" 
      receiveTimeout="00:10:00" sendTimeout="00:01:00"> 
       <security mode="None"/> 
      </binding> 

     </webHttpBinding> 
    </bindings> 

而在你標籤。做這樣的事情。

<services> 
    <service behaviorConfiguration="" name="Your.Service.Name"> 
    <endpoint address="" behaviorConfiguration="RESTBehavior" binding="webHttpBinding" 
     bindingConfiguration="webHttpBG" contract="Your.Package.IContract" /> 
    <host> 
     <baseAddresses> 
     <add baseAddress="http://localhost:51855/Contract.svc" /> 
     </baseAddresses> 
    </host> 
    </service> 
+0

我會在客戶端獲得以下綁定嗎? <的WebHttpBinding> <綁定名稱= 「webHttpBG」 maxReceivedMessageSize = 「2147483647」 MAXBUFFERSIZE = 「2147483647」 maxBufferPoolSize = 「21474836470」 closeTimeout = 「00:01:00」 openTimeout = 「00:01:00」 receiveTimeout = 「00:10:00」 的SendTimeout = 「00:01:00」> <安全模式= 「無」/> Manoj

+0

沒有,這些都是服務器端!在您的WCF項目的Web.Config文件中進行更改。 –