2013-03-25 176 views
2

簡而言之,一切工作在本地機器上,但不在部署到服務器「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"/> 

讓我知道如果你需要任何其他信息。

感謝您的幫助!

+0

下載MVC4以使用WebAPI http://www.microsoft.com/en-us/download/details.aspx?id=30683 – 2013-03-25 19:30:10

+0

感謝Icidis,我將會看看我是否可以在那裏安裝MVC。我希望問題是別的。那麼使用.NET版本呢,經典和集成有什麼區別呢? – Naner 2013-03-25 19:36:36

+0

我總是使用集成模式。但繼承人迅速發現。 http://stackoverflow.com/questions/716049/what-is-the-difference-between-classic-and-integrated-pipeline-mode-in-iis7 – 2013-03-25 19:41:53

回答

相關問題