2014-01-07 64 views
0

在VS,這工作得很好:爲什麼這篇文章在VS中工作,但不是在發佈時?

http://x.x.x.x/Order/DeleteLineItem?id=c709d018-fd55-442c-9e0d-0826f98cf368 

然而,當公佈,和應用程序運行時,它會返回404錯誤。

它正在發佈到IIS 7.5。所有應用程序的其餘部分工作正常,只是那些有失敗的ID的鏈接。

但奇怪的是,在Visual Studio中,在FireFox和IIS中,它都能正常工作。但是在VS之外,他們都給出了相同的錯誤信息。

我已經在服務器上爲任何其他錯誤信息上直接運行它,但它只是說404

這沒有任何意義,我。有什麼我應該做的調試呢?此時,該應用程序沒有針對404類型錯誤的任何錯誤處理。

錯誤消息說,處理程序是「StaticFile」和錯誤代碼是:0x80070002

更新

原來的問題是,JQuery的呼叫的URL失蹤的站點名稱。

這是什麼工作:

$.ajax({ 
     url: "/PropertySearch/Order/EditLineItem", 
     data: { id: dataItem.id }, 
     dataType: 'html', 
     success: function (data) { 
      $('#content').html(data); // 
     } 
+0

需要更多的信息來幫助解決這個問題。你甚至沒有說明你要發佈什麼Web服務器。 – Claies

+0

是的,你的權利,我增加了更多的數據。 –

+0

您的ID是否與生產數據庫中實際存在的項目匹配? – Claies

回答

1

一個可能的原因是,你發佈到環境要求SSL,而您使用HTTP而不是HTTPS。

另一種可能性是ASP.NET MVC未在部署環境中正確註冊/配置。錯誤消息是否表示正在使用StaticFile處理程序?您是否嘗試過使用Phil Haack的路由調試器來了解發生了什麼?

http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx/

+0

將檢查路由調試器。所有其他MVC視圖都正常顯示,只是帶有ID的視圖。也許這是因爲我使用Guid作爲Id。我不明白爲什麼會有所作爲,但這沒有任何意義。 –

+0

在這種情況下不使用SSL。 –

+0

我相當肯定MVC安裝正確,因爲應用程序啓動並運行並瀏覽了大量的部分視圖。只有當它到達使用GUID的控制器操作時纔會出現問題。我將嘗試切換到一個int id。 –

相關問題