加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – ASP.NET MVC 4 Web API无法映射包含字符串“con

发布时间:2020-12-16 00:05:52 所属栏目:asp.Net 来源:网络整理
导读:字符串“con”有什么问题? 好的,我的api路由配置相当无趣: config.Routes.MapHttpRoute( name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }); LocationController具有以下方法: public ListLoc
字符串“con”有什么问题?

好的,我的api路由配置相当无趣:

config.Routes.MapHttpRoute(
    name: "DefaultApi",routeTemplate: "api/{controller}/{id}",defaults: new { id = RouteParameter.Optional }
);

LocationController具有以下方法:

public List<LocationViewModel> Get(string id)
{
    return _ds.SearchLocations(id);
}

一切都按预期工作,除了我尝试获取这样的资源时出现HTTP 404错误:

/ API /位置/ CON

在这种情况下,该方法不会被命中.奇怪的是,如果我将“con”以外的任何其他字符串设置为id参数,则控制器方法正在被击中并正常工作!

当我使用Cassini在localhost上调试我的应用程序时,会发生这种情况(与IIS Express相同).我的项目目录中没有名为“con”的文件.处理应用程序错误事件后,IntelliTrace显示一条HttpException并显示消息:“无法映射路径’/ api / location / con’”…

有什么线索吗?这是一个已知的错误?

提前致谢!

解决方法

URL中不允许使用某些关键字,CON是其中之一.请参阅 this.解决方法是在< system.web>下包含以下内容:在您的Web.config中.
<httpRuntime relaxedUrlToFileSystemMapping="true" />

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读