MVC 5 WebRequest URL中的尾随点导致404

eYe*_*eYe 5 api url asp.net-mvc http-status-code-404

我运行MVC 5,并有一个搜索API产生以下链接:/SearchedItem.?format=json这里SearchedItem.是用户输入的搜索.由于一个dot角色,这显然会导致着名的404 .我已经研究了以下所有解决方案:

点字符'.' 在MVC Web API 2中请求诸如api/people/STAFF.45287之类的请求

URL中的点导致404使用ASP.NET mvc和IIS

当ID包含句点时,ApiController返回404

然而,无论是加斜杠(尝试都/SearchedItem./?format=json/SearchedItem.?format=json/),也不RAMMFAR工作.

寻找任何新的建议.

Nic*_*icy 1

您必须更改您的 web.config,尾随点让 iis 认为您正在访问图像。

在 system.webServer / handlers (web.config) 中添加以下内容

<add name="ApiURIs-ISAPI-Integrated-4.0"
 path="/api/*"
 verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS"
 type="System.Web.Handlers.TransferRequestHandler"
 preCondition="integratedMode,runtimeVersionv4.0" />
Run Code Online (Sandbox Code Playgroud)

另一个建议是将 RunAllManagedModulesForAllRequests 设置为 true,但我不建议这样做。所有静态资源都将通过 .net 代码处理:)

我在您的问题中看到您检查了相关链接。但你确定吗?因为我过去遇到过这个问题,上面是我的解决方案......