繁体   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