我想在應用程序啓動時啓動一個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. 在啓動時啓動應用程序
- 5. 啓動Web應用程序時出錯
- 6. 啓動時的Java Web應用程序
- 7. Tomcat啓動時自動重啓Web應用程序,出錯後
- 8. NullPointerException啓動web啓動應用程序時
- 9. 在應用程序啓動時啓動計時器間歇性死鎖
- 10. 在應用程序啓動時啓動應用程序類
- 11. 在Windows啓動時啓動應用程序啓動
- 12. android啓動應用程序啓動時的相機活動或同時啓動
- 13. 控制檯C#應用程序在啓動時啓動Web瀏覽器
- 14. 啓動插件時自定義Eclipse應用程序啓動器
- 15. 啓動Apache服務器時啓動應用程序
- 16. Java Web應用程序 - 應用程序啓動時的LoadLibrary
- 17. 啓動應用程序時啓動屏幕時應用程序已停止
- 18. 在服務器啓動/重新啓動時啓動Node.js應用程序
- 19. Android:不啓動啓動器 - 啓動時運行我的應用程序
- 20. 彈簧啓動web啓動器應用程序顯示錯誤
- 21. Azure應用服務 - 啓動時彈出啓動應用程序
- 22. 從應用程序啓動「啓動器應用程序抽屜」?
- 23. 在啓動時運行的「瀏覽器外」Web應用程序?
- 24. 在啓動時在Ubuntu啓動時運行單聲道應用程序「啓動應用程序」
- 25. 如何在Google Glass啓動時自動啓動應用程序?
- 26. 代碼自動在Windows啓動時啓動Java應用程序
- 27. 手機啓動時自動啓動應用程序
- 28. 應用程序啓動時自動啓動Android服務
- 29. 在啓動時自動啓動後最小化應用程序
- 30. 在應用程序啓動時自動啓動sidekiq(RoR)
quick'n'dirty解決方案:在您的安裝程序中擊中網站 – 2010-06-08 19:57:56
如果您的設置允許,Windows服務可能會是工作進程的更好解決方案。 – Justin 2010-06-08 20:08:00