Mil*_*vic 12 asp.net-mvc asp.net-mvc-routing asp.net-web-api
字符串"con"有什么问题?
好的,我的api路由配置相当无趣:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
LocationController具有以下方法:
public List<LocationViewModel> Get(string id)
{
return _ds.SearchLocations(id);
}
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作,除了我尝试获取这样的资源时出现HTTP 404错误:
/ API /位置/ CON
在这种情况下,该方法不会被击中.奇怪的是,如果我将"con"以外的任何其他字符串设置为id参数,则控制器方法正在被击中并正常工作!
这是在我使用Cassini在localhost上调试我的应用程序时发生的事情(与IIS Express相同).我的项目目录中没有名为"con"的文件.处理应用程序错误事件后,IntelliTrace显示一条HttpException并显示消息:"无法映射路径'/ api/location/con'"...
有线索吗?这是一个已知的错误?
提前致谢!
Bad*_*dri 17
URL中不允许使用某些关键字,CON是其中之一.看到这个.解决方法是<system.web>在Web.config中包含以下内容.
<httpRuntime relaxedUrlToFileSystemMapping="true" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1700 次 |
| 最近记录: |