2014-01-13 59 views
0

所有,WCF服務錯誤 - 最大郵件大小配額傳入消息(65536)已超過

我有一個WCF服務(在asp.net 4.0 Web應用程序),在asp.net兼容模式下運行。 當我的silverlight客戶端將大量數據發佈到服務Save(SomeLargeObject)時,我從服務器收到此消息(400-Bad Request)。我追蹤了服務器上的錯誤,並從服務中獲得了這個錯誤:

傳入消息(65536)的最大消息大小配額已被超出。要增加配額, 在適當的綁定元素上使用MaxReceivedMessageSize屬性。

要解決我haved更新我的服務器服務配置文件(Web.config)錯誤:

<bindings> 
     <basicHttpBinding> 
     <binding name="WebStoreServices_BasicHttpBinding" maxBufferSize="2147483647" 
      maxReceivedMessageSize="2147483647"> 
      <security mode="None" /> 
     </binding> 
     </basicHttpBinding> 
     <wsHttpBinding> 
     <binding name="MyBinding" maxReceivedMessageSize="2147483647" /> 
     </wsHttpBinding> 
     <webHttpBinding> 
     <binding name="NewBinding0" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" /> 
     </webHttpBinding> 
    </bindings> 

和我的Silverlight客戶端serivce配置文件:

<system.serviceModel> 
     <bindings> 
      <basicHttpBinding> 
       <binding name="BasicHttpBinding_IWebStoreServices" maxBufferSize="2147483647" 
        maxReceivedMessageSize="2147483647"> 
        <security mode="None" /> 
       </binding> 
      </basicHttpBinding> 
     </bindings> 
     <client> 
      <endpoint address="http://localhost:1271/Services/WebStoreServices.svc" 
       binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_IWebStoreServices" 
       contract="WebStore.IWebStoreServices" name="BasicHttpBinding_IWebStoreServices" /> 
     </client> 
    </system.serviceModel> 

我仍然得到上述錯誤在服務器上,「傳入消息的最大消息大小配額(65536)」,它就像我在服務器上的綁定被忽略。爲什麼它忽略了我的設置!我確實使用WCF工具來創建綁定以避免錯誤。

+0

能否顯示至少一個您的服務配置示例(即您的元素中的服務端點的一個聲明) – Carlos

+0

問題已解決,感謝您的幫助。是的,我的system.service模型除了綁定之外沒有別的。 – ActiveX

回答

2

的設置看起來很好 - 但確實使用basicHttpBinding實際引用服務器端的端點結合與增加MaxReceivedMessageSize設置在所有的配置?

你應該在你的服務器端web.config的設置是這樣的:

<services> 
    <service name="WebStore.WebStoreServices"> 
     <!-- this endpoint uses basicHttpBinding and uses the binding configuration --> 
     <endpoint name="basicHttp" 
      address="......" 
      binding="basicHttpBinding" 
      bindingConfiguration="WebStoreServices_BasicHttpBinding" 
      contract="WebStore.IWebStoreServices" /> 
    </service> 
</services> 

如果您basicHttpBinding端點失蹤bindingConfiguration="..."設置 - 好了,那麼你就已經定義了綁定配置好嗎,但你實際上並不是使用它!

+0

感謝您的修復,它現在可以工作 - 我的問題是除了web.config中的綁定外,我沒有任何其他定義。這是我的第一個WCF服務,我認爲它會以某種方式將綁定與我的編碼服務關聯起來,而不需要任何額外的配置條目。 – ActiveX

相關問題