我想在應用程序啓動時啓動一個System.Threading.Timer
(可能部署是正確的詞)。我看到你可以使用Application_Start()
,但這只是fired once the first request comes to the application。我需要定時器在應用程序運行後立即啓動,以便即使用戶沒有與網站進行交互,它也可以檢查要處理的工作。如何讓應用程序在啓動計時器後啓動?Web應用程序啓動時啓動計時器
回答
當應用程序啓動並運行時,應用程序啓動實際上會啓動。您遇到的問題是IIS在收到第一個請求之前並不真正啓動應用程序。
另一個重要的事情要知道:IIS可以關閉你的應用程序由於不活動。如果你有需要一直運行的東西,你可能會尋找與ASP.NET應用程序不同的工具。也許是Windows服務,甚至是一個計劃任務。
我同意。 Web應用程序不適用於用戶未啓動的任務。 – 2010-06-08 20:01:03
您可以使用新的ASP.Net 4模式AlwaysRunning
。這樣,它不會等到第一個請求開始
<applicationPools>
<add name="MyAppWorkerProcess" managedRuntimeVersion="v4.0"
startMode="AlwaysRunning" />
</applicationPools>
這是正常現象 - 應用程序需要由某人請求頁面被「觸發」。
在IIS 7.5及更高版本(例如WIN 2008/WIN7),還有一個功能,自動做到這一點 - 看到這個鏈接的詳細信息:http://visualstudiomagazine.com/articles/2010/02/18/preloading-aspnet-applications.aspx
在其他ASP.NET Web服務器就像一個我們公司是生產(在www.neokernel.com上在線),這是通過指定將使用服務器配置文件預先加載的某些頁面來完成的。本質上,頁面被傳遞到ASP.NET處理管道,並在任何人請求與該頁面關聯的URL之前編譯/啓動。
一種方法是使用JavaScript setInterval方法啓動計時器。這需要在每個頁面上進行,以便將其放入母版頁中。
- 1. 計時器在應用程序啓動時自動啓動
- 2. 在啓動時啓動應用程序
- 3. 在啓動時啓動應用程序
- 4. 啓動時的Java Web應用程序
- 5. 啓動Web應用程序時出錯
- 6. Tomcat啓動時自動重啓Web應用程序,出錯後
- 7. 在應用程序啓動時啓動計時器間歇性死鎖
- 8. 在Windows啓動時啓動應用程序啓動
- 9. android啓動應用程序啓動時的相機活動或同時啓動
- 10. 啓動插件時自定義Eclipse應用程序啓動器
- 11. Java Web應用程序 - 應用程序啓動時的LoadLibrary
- 12. 啓動應用程序時啓動屏幕時應用程序已停止
- 13. Android:不啓動啓動器 - 啓動時運行我的應用程序
- 14. 彈簧啓動web啓動器應用程序顯示錯誤
- 15. Azure應用服務 - 啓動時彈出啓動應用程序
- 16. 從應用程序啓動「啓動器應用程序抽屜」?
- 17. 在RN系統啓動時自動啓動應用程序
- 18. 僅在應用程序第一次啓動時啓動活動
- 19. 如何在應用程序啓動時自動啓動Delayed_Job?
- 20. 如何在Windows啓動時自動啓動應用程序?
- 21. 應用程序啓動時沒有啓動活動
- 22. 代碼自動在Windows啓動時啓動Java應用程序
- 23. 啓動應用程序時的Android啓動活動
- 24. 在應用程序啓動時自動啓動sidekiq(RoR)
- 25. 手機啓動時自動啓動應用程序
- 26. 當啓動完成時自動啓動應用程序android
- 27. 應用程序啓動時自動啓動Android服務
- 28. 在啓動時運行的「瀏覽器外」Web應用程序?
- 29. 當應用程序啓動時,聲音應該再次啓動
- 30. 在啓動/啓動時自動啓動應用程序的首選方法?
quick'n'dirty解決方案:在您的安裝程序中擊中網站 – 2010-06-08 19:57:56
如果您的設置允許,Windows服務可能會是工作進程的更好解決方案。 – Justin 2010-06-08 20:08:00