目前,我們正在向asp.net應用程序添加asp-net web api支持。但是,當使用任何路徑在控制器上請求操作時,AppRelativeCurrentExecutionFilePath始終設置爲「〜/」並導致400錯誤。使用路由調試器here確認AppRelativeCurrentExecutionFilePath始終是不正確的,不管網址是什麼。對於所有ASP.NET Web API路徑,AppRelativeCurrentExecutionFilePath始終設置爲〜/
例如,所有的以下網址訪問,具有AppRelativeCurrentExecutionFilePath爲「〜/」
http://localhost:1521/Testclient/apitest/values/get
http://localhost:1521/Testclient/apitest/values/get/1
路線調試器還顯示失敗/敵不過即使路由表已要求項以上的URL。
已禁用所有Application_BeginRequest/VPP/module/http處理程序以及任何可能導致路由受到影響但仍遇到相同問題的情況。任何其他可能的方式,這可以調試?
Update1:通過處理global.asax中的Application_BeginRequest()來檢查application.Request.AppRelativeCurrentExecutionFilePath,即使在那裏它看起來是錯誤的。
這也是VS 2012開發服務器中的一個錯誤,它不僅影響了ASP.NET MVC的頁面路由,還影響了WebForms頁面路由。我只是從目錄名稱中刪除了這段時間,並開始工作。感謝發佈這個......它讓我省下了你懷疑的時間! – 2012-10-09 17:07:46