相對較新的mvc。我有我認爲一個奇怪的架構項目,我有人離開我的公司後繼承。有兩個「服務層」。主層是一個期待REST查詢的MVC 4項目。下面是它如何工作的:無法調試MVC4項目
在另一個項目中一個asp.net頁面允許用戶輸入一個REST查詢。同一個asp.net頁面調用serviceRequest.DownloadString和輸入的REST查詢。
這會導致調用mvc 4項目中的DelegatingHandler。此DelegatingHandler會對請求發送的標頭進行一些驗證。如果數據正確,DelegatingHandler使用傳遞給DelegatingHandler的相同REST查詢調用base.SendAsync。
這將激活由REST查詢調用的mvc 4項目中的控制器。如果它正在工作,則mvc 4項目返回xml。
4,要完成控制器從wcf項目調用方法的大部分工作,
發生的事情是,如果在Visual Studio中運行,此架構可以正常工作。如果將兩個服務層(mvc 4和wcf項目)部署到本地計算機上的IIS應用程序,它也可以正常運行。
將服務層部署到兩臺單獨的計算機上時會出現此問題,一臺位於dmz,另一臺位於防火牆內的macine上。它返回一個500.
我使用了fiddler並修復了一個與連接字符串有關的問題。一旦完成,我仍然得到了500的結果,但沒有其他信息。在這種情況下運行的Fiddler再次僅確認我被接收500。我曾嘗試:
在WCF層中使用現有的功能puting跟蹤代碼在兩個服務層
的CONFIGS到將一些調試信息寫入控制器的表中。
我意識到,我可能沒有張貼在跟蹤代碼在MVC和WCF的配置文件,但它似乎是簡單地完全繞過了MVC 4項目。我也注意到一些關於能夠使用debug.write的信息。這是一個可行的選擇。
這兩個步驟都沒有讓我更接近解決問題。我得到的印象是,mvc 4代碼根本不會被調用,並且在調用serviceRequest.DownloadString調用DelegatingHandler時發生錯誤。但是我不知道該去哪裏看看我是否正確。代碼中是否有一個地方(例如和事件),我可以使用它來跟蹤離開asp.net頁面時的代碼並嘗試轉到mvc 4項目?
調試這個最好的方法是什麼?任何幫助,將不勝感激。
感謝,
Fig0000
我設法做一些跟蹤它看起來像API在激發Application_Start事件,但沒有控制器。這隻發生在應用程序部署到遠程服務器的時候,我在api的OnException事件中放了一個似乎沒有觸發的事件。我需要找到Application_Start()後發生的其他事件。任何意見,將不勝感激。什麼會阻止控制器發射? –
我只是追溯所有的請求事件,他們都被解僱了。控制器仍然沒有開火。 –
網址重寫,靜態MIME類型,全局或控制器屬性,在網絡配置路由。實際上可以是很多事情。 –