Asp.net-Mvc
ASP.NET MVC 4 Web API 無法映射包含字元串“con”的路徑?
字元串“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 就是其中之一。看到這個。
<system.web>解決方法是在您的 Web.config中包含以下內容。<httpRuntime relaxedUrlToFileSystemMapping="true" />