看看this article here關於如何處理傳遞給WCF服務的實體鍵中的特殊字符。
記在你的情況是,關閉請求過濾並不妨礙反斜槓從得到錯位:
<httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0"/>
<pages validateRequest="false"/>
斜線和問號是有問題的,因爲底層的URI語法分析器進行反向轉義原始的URI ...這裏對於那些三個字符解決方法:
<configSections>
<section name="uri" type="System.Configuration.UriSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
</configSections>
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
<add name="https" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
(也公然從文章被盜。)
它是一個編碼問題? http://meyerweb.com/eric/tools/dencoder/建議'test1 \ test2&test3'的編號應該編碼爲'test1%5Ctest2%26test3'。 –
我想這不是一個相關的問題。當通過'test1%5Ctest2%26test3'時,它收到'test1/test2&test3':/ – anpa