ASP.net 生命周期中的线程



我需要在 ASP.net 的Web应用程序中进行一些TCP通信。

我已经构建了一个代码的工作原型,它使用 winforms 与服务器通信。我现在将此代码实现到我的 Web 应用程序中,我不确定执行此操作的最佳方法是什么。

此问题特定于与 ASP 页生命周期相关的线程生命周期。

我想触发一个执行TCP连接的线程并侦听来自TCP服务器的事件。

如果我确实从我的 ASP.net Web 应用生成一个线程,这个线程的生命周期是什么?当重新创建页面生命周期并回发、刷新等时,它是否会继续"孤立"运行?或者,在回发/刷新时重新创建生命周期时,页面会以某种方式清理此问题吗?

我希望运行我的线程,直到我想手动停止它。

我正在尝试不同的选择,但我想就实现最终结果的"正确"方式获得一些想法。

(附言我的线程将使用来自TCP服务器的相关数据更新应用程序变量(。要在此 Web 应用中的多个页面中使用的数据。

我的其他想法是运行独立的桌面应用程序/服务来收集数据并将其合并到 IIS 应用程序池会话中。(但这是我最后的手段(

要解决您的问题:

如果我确实从我的 ASP.net Web 应用生成了一个线程,那么这个线程的生命周期是什么?

它将一直运行到完成,或者直到过程完成,或者直到您明确告诉它结束。 这与任何其他应用程序中的线程相同。

当重新创建页面生命周期并回发、刷新等时,它是否会继续"孤立"运行?

页面生命周期完全无关紧要。 线程将继续独立于页面运行。

或者,在回发/刷新时重新创建生命周期时,页面会以某种方式清理此问题吗?

请参阅之前的答案。

同样,我建议您不要采用此路线并在 Windows 服务中实现线程方案。

最新更新