我的WCF服務被暴露出來,以接收XML檔案作為請求的一部分(為測驗目的使用SOAP UI)。在為服務端點啟用基于證書的認證后,IIS出現了HTTP/1.1 413 Request Entity Too Large錯誤。為了解決這個問題,在IIS配置中把uploadReadAheadSize的值更新為'20000000'。在改變配置后,服務能夠成功地處理請求,當時從客戶端收到的檔案大小約為10MB。但后來觀察到同樣的問題,發現現在請求的XML檔案的大小從15MB到30MB不等。
為了解決這個問題,將uploadReadAheadSize增加到'90000000'(嘗試過更高的值)。但這個問題一直存在。
有什么建議可以解決這個問題嗎?
當前的服務配置 :
<bindings>
<basicHttpsBinding>/span>
<binding name="BasicHttpBinding。 MyService" transferMode="Streamed" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" messageEncoding="Mtom"/span> receiveTimeout="00: 30:00">
< readerQuotas maxStringContentLength="2147483647"/span> maxBytesPerRead="2147483647" maxDepth="2147483647" maxArrayLength="2147483647" />
<security mode="Transport">
<transport clientCredentialType="certificate" />
</security>
</binding>/span>
</basicHttpsBinding>/span>
</bindings>/span>
<behaviors>>
<serviceBehaviors>/span>
<behavior name="MyTestProjectIntegrationServiceBehavior"/span>>
<serviceCredentials>/span>
< serviceCertificate findValue="****************************" storeLocation="LocalMachine" storeName="My" x509FindType=FindByThumbprint" />
</serviceCredentials>
<serviceMetadata httpsGetEnabled="true" />/span>
<CustomBehaviorExtensionElement />
<serviceDebug includeExceptionDetailInFaults="true"/span> />
</behavior>
</serviceBehaviors>/span>
<endpointBehaviors>/span>
<behavior name="MyServiceEndpointBehavior">/span>
< MyServiceSchemaValidator validateRequest="True"/span> validateReply="False"/span>>
<schemas>
<add location="App_DataMyTestProjectXsdexchange-model-service.xsd"/span> />
</schemas>
</MyServiceSchemaValidator>/span>
</behavior>/span>
</endpointBehaviors>/span>
</behaviors>/span>
<system.serviceModel>
<services>
<service name="Test.Project.ServiceImplementation。 MyService" behaviorConfiguration="MyTestProjectIntegrationServiceBehavior">。
< endpoint binding="basicHttpsBinding" bindingConfiguration="basicHttpBinding. MyService"/span> contract="ExchangeMyProjectService"/span> behaviorConfiguration="MyServiceEndpointBehavior" bindingNamespace="http。 //www. test.com/api/end/service" />。
</service>
</services>/span>
</system.serviceModel>/span>
uj5u.com熱心網友回復:
這個問題的實際原因是請求大小。一些請求超過了30MB,導致了這個錯誤。為了解決這個問題,將IIS的maxAllowedContentLength(system.webServer/security/requestFiltering)更新為50MB,默認為30000000(30MB)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/316167.html
標籤:
上一篇:檢測帶有WebHttpBinding的ServiceEndpoint何時超時
下一篇:通過使用所選選項的變數值呼叫陣列
