首页 新闻 赞助 找找看

关于ASP.NET页面使用多线程的问题,望解答。

0
悬赏园豆:10 [待解决问题]

在ASP.NET页面上声明如下:

Thread thread = new Thread(new ThreadStart(UpdateCalculateFields));
thread.Start();

//Other;

UpdateCalculateFields方法调用BLL层的一个方法A,, 假设A方法要执行十秒钟。。

我想问的是,既然使用了异步,asp.net不会等方法执行完毕后才刷新,而是立即执行Other, 那刷新页面后这个线程还会存活麽? 是不一定还是一定?如果不能的话, 有没有更好的办法使用异步,在asp.net?

任延伟的主页 任延伟 | 初学一级 | 园豆:69
提问于:2012-05-30 11:40
< >
分享
所有回答(1)
0

异步调用的话,这个页面的后台执行会继续(当然前台调用已经结束),直到你的异步任务执行完成为止。

你可以通过实验验证下,跟踪这个PAGE的UNLOAD事件的执行。

Web页面的异步执行旨在解决一些后台操作需要很长时间,但又不影响前端响应的问题。这样,可以快速的响应前端请求,又能执行长时间的后台操作。而换作同步执行的话,会导致请求超时的问题发生。

无之无 | 园豆:5095 (大侠五级) | 2012-05-30 11:48

也就是说这个线程不会随着页面的刷新而被垃圾回收 而会正常执行结束?

支持(0) 反对(0) 任延伟 | 园豆:69 (初学一级) | 2012-05-30 13:42

@任延伟: 对。这个是我的理解。你可以在页面的UNLOAD事件里跟踪下。

支持(0) 反对(0) 无之无 | 园豆:5095 (大侠五级) | 2012-05-30 13:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册