【问题标题】:WebApi returning a 404 when parameter contains a (.)当参数包含 (.) 时,WebApi 返回 404
【发布时间】:2014-05-29 05:09:19
【问题描述】:

我发生了一些非常奇怪的行为,这可能是设计使然,但对我来说没有意义

我有一个简单的端点

 [Route("EmailUsed/{emailaddress}")]
 [HttpGet]
 [AllowAnonymous]
 public IHttpActionResult IsEmailInUse(string emailaddress)
 {
   return Ok(true);
 }

当我尝试调用端点时,每当我尝试添加 .在 emailaddress 参数中,例如email@gmail.com 如果我传递 email@gmailcom 的参数,它可以正常工作。

我在这里忽略了一些非常愚蠢的事情吗?

【问题讨论】:

标签: c# asp.net-mvc asp.net-web-api


【解决方案1】:

这通常与 IIS 级别的输入验证有关。您可以在 Web.config 中禁用它,您可能需要稍微尝试一下以找到正确的 Web.config 值以使其工作。我相信是:

<system.web>
    <pages validateRequest="false" />
    <httpRuntime requestValidationMode="2.0" />
</system.web>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 2021-07-30
    相关资源
    最近更新 更多