2012-10-15 86 views
5

可能是這個問題是重複的。我有一個WCF上傳服務,通過它客戶端上傳一個特定的文件到服務器。遠程服務器返回錯誤:(413)請求實體太大+ WCF

我可以通過服務成功發送大小爲12MB的文件。

現在我已將自我認證的SSL證書集成到WCF服務中。現在沒有使用SSL的相同應用程序正常工作,現在返回一個錯誤,說明遠程服務器返回的錯誤(413)請求實體太大。

我該如何解決這個錯誤是與SSL有關?

我在哪裏出錯了。

<system.serviceModel> 

<bindings> 
    <basicHttpBinding> 
    <binding name="customHttpBinding" openTimeout="00:10:00" sendTimeout="00:10:00" 
    maxReceivedMessageSize="10067108864" 
     messageEncoding="Mtom" transferMode="Streamed">   
     <security mode="Transport"> 
     <transport clientCredentialType="Certificate" /> 
     </security> 
    </binding> 
    </basicHttpBinding> 
</bindings> 

<behaviors> 
    <serviceBehaviors> 
    <behavior name="customServiceBehavior"> 
     <serviceMetadata httpsGetEnabled="true"/> 
     <serviceDebug includeExceptionDetailInFaults="true"/> 

     <serviceCredentials> 
     <clientCertificate> 
      <authentication certificateValidationMode="PeerOrChainTrust" trustedStoreLocation="LocalMachine"/> 
     </clientCertificate> 
     </serviceCredentials> 

    </behavior> 
    </serviceBehaviors> 
</behaviors> 

<services> 
    <service behaviorConfiguration="customServiceBehavior" name="FileTransferService"> 
    <endpoint address="" binding="basicHttpBinding" bindingConfiguration="customHttpBinding" 
     contract="IFileTransferService" /> 
    </service> 
</services> 

感謝

回答

6

這似乎是票通過HTTPS錯誤與WCF固定413請求實體過大

C:\Windows\System32\inetsrv>appcmd.exe set config "Default Web Site" -section:system.webServer/serverRunTime /uploadReadAheadSize:10485760 /commit:apphost 

的原因似乎是相關的以及IIS如何通過SSL處理傳入請求的身份驗證。

另一個資源:http://blogs.msdn.com/b/jiruss/archive/2007/04/13/http-413-request-entity-too-large-can-t-upload-large-files-using-iis6.aspx

我只花了我大部分的下午下來跟蹤這個問題......很多其他的建議沒有幫助我很多,但這個肯定沒有,所以希望這將讓你搞掂。

+0

謝謝!剛剛救了我的下午! – nicojs

+0

是的,這似乎只是SSL的問題。還有一個時間組件。我發現如果我允許在https請求之間傳遞100秒,我只會收到錯誤消息。 – nuander

相關問題