gpt4 book ai didi

asp.net - 如果在 ASP.NET 完成其页面处理之前触发后台线程执行,会发生什么情况?

转载 作者:行者123 更新时间:2023-12-04 21:01:09 26 4
gpt4 key购买 nike

如果我在 ASP.NET 页面生命周期完成之前分拆一个线程以执行长时间运行的进程会发生什么? ASP.NET 运行时会终止线程吗?这会导致未定义的行为吗?

这是代码示例,它在 Page_Load 事件中旋转后台线程。这是一件安全的事情吗?

protected void Page_Load(object sender, EventArgs e)
{
Thread newThread = new Thread(new ThreadStart(SomeLongRunningMethod));
newThread.IsBackground = true;
newThread.Start();
}

private void SomeLongRunningMethod()
{
// some long running process goes here...
}

最佳答案

我已经对相同类型的代码做了一些实验,在单独的线程中进行了一些耗时的日志记录。它似乎运行良好,但我还没有在生产环境中对其进行测试。

你的代码和我的代码之间的唯一区别是我使用了线程池而不是设置新线程。

您可能会复制任何请求数据和其他页面信息,以避免它们被处理,但除此之外,我认为这应该工作得很好。

关于asp.net - 如果在 ASP.NET 完成其页面处理之前触发后台线程执行,会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/502485/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com