簡體   English   中英

ASP.net生命周期中的線程化

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM