我正在使用参数化路由进行Web api调用。它对除点以外的所有特殊字符都适用。 我尝试过的代码
[HttpGet]
[Route(@"TestMethod/{strvalue:regex((?s).*)}")]
public IHttpActionResult TestMethod(string strvalue)
{
try
{
// logic
}
catch (Exception ex)
{
return Content(HttpStatusCode.BadRequest, "Error details:" + ex.Message);
}
}
当我传递参数值dot(。)时,它不接受请求。得到的响应为
Request URL
http://localhost:64515/TestMethod/.
Response:
{
"Message": "The requested resource does not support http method 'GET'."
}
预期结果:即使我通过#,。%$ @#&*之类的任何字符,该请求也应被接受
答案 0 :(得分:0)
在您的web.config中执行以下代码可以解决您的问题:
<configuration>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />