Asp.net-Web-Api

如何在 ASP.NET WebAPI 中覆蓋 RequestValidation

  • July 31, 2016

我在處理包含“危險字元”作為 Web API URL 一部分的請求時遇到問題。Url 包含一個 & ,它是正確編碼的 Url,但仍會導致請求驗證 ASP.NET 錯誤。

與 MVC 不同,似乎沒有

$$ ValidateInput(false) $$屬性來強制和禁用此功能。

原來答案是在 web.config 中使用:

<system.web>
 <httpRuntime requestPathInvalidCharacters="" />  
</system.web>

您可以在全域或子目錄級別進行設置。您可以利用該<location path="">元素僅在某些路徑下指定此設置。例如,如果受影響的 Web API 路由位於api/images下,您可以執行以下操作:

<location path="api/images">
 <system.web>
   <httpRuntime requestPathInvalidCharacters="" />  
 </system.web>
</location>

更多資訊:https ://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx

引用自:https://stackoverflow.com/questions/9698224