2011-05-06 56 views
0

我已經創建了一個REST Web服務,它在Application_Start上訂閱另一個向訂閱者發佈消息的服務。現在,如果其中一個訂閱以不可恢復的方式失敗,我將記錄錯誤並拋出消息以允許框架處理異常。我真的更願意更優雅地處理這個消息。出於某種原因,我對我需要做的事情感到不知所措。有沒有辦法在我調用我的訂閱管理代碼的Application_Start事件中捕獲異常,然後停止應用程序。我想我知道答案就是不記得如何去做。錯誤地停止ASP.NET MVC 2 REST svc優雅地出錯

TIA!

回答

1

我會在可能失敗的部分放一個try/catch,並且在catch中,您可以卸載應用程序域,如here所示,這會導致下一次重新運行Application_Start,或者您可以只需在應用程序的IIS目錄中寫入名爲「app_offline.htm」的文件(或複製到位)即可。當該文件存在時,IIS將自動顯示該頁面而不是您的應用,因此您可以製作一些靜態「對不起,我們現在不在線,請稍後再試。」頁面顯示用戶。

我想你也可以用create a custom error page來顯示用戶,它比默認的ServerError頁面更好看。

+0

感謝您的回覆。如果可能,我真的很想關閉應用程序。但是,卸載應用程序似乎可能是我最好的選擇。 – RockyMountainHigh 2011-05-06 17:52:18