我有一個從瀏覽器返回一個WCF休息\的WebHttpBinding服務(IE,Chrome瀏覽器):IIS託管WCF休息服務獲得400錯誤,是URL太長?
Bad Request - Invalid URL -
HTTP Error 400. The request URL is invalid.
該服務使用GET(我們也許應該改爲POST,但最初我們被告知,最大的URL會50字符),我很好奇這個問題是什麼......只是爲了我自己的想法。
我們之前有過這個問題的URL超過了300個字符,所以在web配置中我們設置了maxUrlLength,如下所示。
<system.web>
<compilation targetFramework="4.0" />
<httpRuntime maxUrlLength ="5000" maxQueryStringLength="2048" />
</system.web>
這是工作什麼時候做這個更新,但現在它似乎並沒有工作,超過300我們得到400錯誤。
我認爲別的東西現在阻止了這個請求。我之前說過這個b/c,我們在我們自己的日誌文件和wcf'diagnostics'日誌文件中有信息。現在,這些都沒有被寫入...它的服務甚至沒有被捲入。而以前如果我打到服務器本身的服務,我會得到這個錯誤
The length of the URL for this request exceeds
the configured maxUrlLength value.
但我不再會得到那個錯誤。
我們不'擁有'服務器,這是其他一些是管理員和事情之前已更改沒有我們通知。
我環顧SO,但大多數人提到設置診斷。有Http.sys registry settings for IIS,我從http://social.msdn.microsoft.com得到,但似乎沒有任何相關性。還添加一個部分,但我相信應該是足夠好的(根據SO答案)
任何想法可能發生什麼?
謝謝!
.NET 4.0,IIS 7,Windows Server 2008的
編輯:並添加我可以更新maxUrlLength的東西很小,比如50,並使用> 50的URL和失敗,但失敗,出現「此請求的URL長度超過了配置的maxUrlLength值。「信息。所以我感覺別的,在它到達WCF服務之前,正在引發這個問題。
如果您有很長的網址可能會考慮設計?也許發佈結構化數據而不是查詢字符串? – bryanmac
配置文件maxurllength仍然是5000嗎? –
是maxurllength仍然5000 ...添加編輯原始帖子(使用小maxUrlLength值) –