2012-08-28 64 views
0

我有一個MVC3應用程序需要30多秒才能執行global.asax Application_Start()。當App池重置後,當用戶第一次點擊該網站時,瀏覽器只是在那裏等待「等待網站...」消息。在Application_Start()中顯示「加載」消息

有沒有辦法顯示「加載數據...」的信息/頁面,讓用戶知道一切正常,耐心等待?

回答

1

不,沒有辦法顯示Application_Start的任何消息。 IIS 7.5有一個很酷的AutoStart feature,它允許你預先在內存中加載你的應用程序,從而避免長時間等待。另一種可能性是有一些外部服務定期查詢您的網站,以避免它被IIS卸載。

如果您不能使用此功能,那麼您將不得不減少/優化您在Application_Start中所做的工作量,以便它不需要30秒。

+0

AutoStart看起來像票;謝謝! – nunzabar

0

你不能這麼做,因爲服務器沒有響應,所以你不能做任何事情。

但如何實現心跳這將查詢您的應用程序的任何網址,避免它不進入站立模式?


一個想法:設置外部服務來查詢您的應用程序,每5分鐘:

RestSharp requests on momentapp's restful api

0

不一樣的.NET應用程序中 - 你不能顯示任何東西,從在Application_Start之內。您可以創建另一個小應用程序作爲着陸頁,輪詢您的主應用程序的響應,然後在獲取響應後重定向。

但是更好的解決方案是將一些工作從Application_Start中移出 - 您是不是可以讓用戶到達您的第一頁,然後在他們登陸後調用初始化方法?

相關問題