簡而言之,一切工作在本地機器上,但不在部署到服務器「A」時。.NET Web Api - 404 - 找不到文件或目錄
我確定服務器「A」中缺少someting,但我不知道它是什麼,我沒有訪問那裏進行更改或正確的測試。
因此,我在此尋求幫助和想法,以便我可以告訴負責服務器「A」的負責人,或者需要對我的項目進行的任何更改以使其工作那裏。
話雖這麼說,讓我們來談談我的項目...
我使用的Web API和一個路由在Global.asax這樣定義:
RouteTable.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional });
我調用使用JQuery Ajax和劍道UI控制器,因爲這樣的:
(這是一個假例子只是爲了證明這一點)
read: {
url: function() {
return "../api/Member/123";
}
}
再次,一切都在本地服務器上的偉大工程,但是當我部署它,我爲每一個網絡API調用:
404 - File or directory not found.
沒有別的。
需要考慮的事情:
- 我編譯該項目使用.NET 4.0框架。
- 服務器「A」上的網站設置爲使用.NET 4.0 classic(這可能是個問題嗎?)
- 我不認爲MVC 4安裝在服務器「A」中。 Web Api是否需要MVC?
- 服務器「A」運行IIS 7
添加以下的web.config文件,但仍然得到404錯誤:
<modules runAllManagedModulesForAllRequests="true"/>
讓我知道如果你需要任何其他信息。
感謝您的幫助!
下載MVC4以使用WebAPI http://www.microsoft.com/en-us/download/details.aspx?id=30683 – 2013-03-25 19:30:10
感謝Icidis,我將會看看我是否可以在那裏安裝MVC。我希望問題是別的。那麼使用.NET版本呢,經典和集成有什麼區別呢? – Naner 2013-03-25 19:36:36
我總是使用集成模式。但繼承人迅速發現。 http://stackoverflow.com/questions/716049/what-is-the-difference-between-classic-and-integrated-pipeline-mode-in-iis7 – 2013-03-25 19:41:53