[英]Threading in ASP.net life cycle
我需要在ASP.net Web App中進行一些TCP通信。
我已經建立了代碼的工作原型,可以使用winforms與服務器進行通信。 我現在將這些代碼實現到我的Web應用程序中,但我不確定最好的方法是這樣做。
此問題特定於與ASP頁面生命周期有關的線程生命周期。
我想解雇執行TCP連接的線程並偵聽來自TCP服務器的事件。
如果確實從ASP.net Web應用程序中產生了一個線程,那么該線程的生命周期是什么? 重新創建頁面生命周期以及回發,刷新等時,它將繼續運行“孤立”嗎? 還是在回發/刷新時重新創建生命周期,頁面會以某種方式清理掉它嗎?
我希望先運行線程,然后再手動停止它。
我正在嘗試不同的選項,但是我想了解一些“正確”的方法來達到最終結果。
(PS我的線程將使用來自TCP服務器的相關數據更新應用程序變量)。 要在此Web應用程序的多個頁面中使用的數據。
我的其他想法是運行一個獨立的桌面應用程序/服務來收集數據並將其合並到IIS應用程序池會話中。 (但這是我的不得已)
要解決您的問題:
如果確實從ASP.net Web應用程序中產生了一個線程,那么該線程的生命周期是什么?
它會一直運行到完成為止,或者直到該過程完成為止,或者直到您明確告訴它結束為止。 這與任何其他應用程序中的線程相同。
重新創建頁面生命周期以及回發,刷新等時,它將繼續運行“孤立”嗎?
頁面生命周期是完全無關的。 該線程將繼續獨立於頁面運行。
還是在回發/刷新時重新創建生命周期,頁面會以某種方式清理掉它嗎?
請參閱先前的答案。
再次,我建議您不要采用這種方法,而是在Windows服務中實現線程方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.