我知道這個問題已經被問過很多次了,但不幸的是,我無法將答案調整為可行的解決方案。
我有一個在 IIS 中運行的 WCF 服務,當我嘗試發送大小超過 64KB 的請求時會引發 413 例外。從我所做的所有研究來看,設定 maxReceivedMessageSize 應該足夠了。有問題的服務是驗證服務。我正在嘗試發送一個帶有已被 base64 編碼為位元組 [] 的附件的物件。
我在運行 Windows Server 2019 Standard 的 VM 中運行它,但這個問題也存在于其他環境中。
我已經發布了指向 stacktrace、Web.config 和 App.config 的 pastebin 鏈接,以防止帖子的大小爆炸。
堆疊跟蹤 https://pastebin.com/zbSF0nfB
Web.config 片段
<binding name="BasicHttpBinding_IValidationService" maxBufferPoolSize="2147483647"
maxBufferSize="2147483647" maxReceivedMessageSize="2147483647">
<readerQuotas maxDepth="2000000" maxStringContentLength="2147483647"
maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647" />
<security mode="Transport">
<transport clientCredentialType="Ntlm" />
</security>
</binding>
https://pastebin.com/V5TRBFsQ
App.config https://pastebin.com/Hr7NcBTJ
我希望有人能夠找到我犯的錯誤:)
uj5u.com熱心網友回復:
在這篇文章中找到了解決方案(如何覆寫 WebServiceHostFactory MaxReceivedMessageSize?)
問題在于為服務創建主機的工廠,因為它是默認的 SharePoint 工廠/主機,它不回應在不同 web.config 檔案中所做的更改。因此,解決方案是用自定義工廠替換工廠,這些工廠使用通常在 web.config 檔案中指定的引數創建主機。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/515463.html
