【发布时间】:2011-10-04 11:30:34
【问题描述】:
我正在尝试从 ASP.NET 页面触发多个 HTTP 请求。页面本身不需要知道响应,并且无论如何都应该继续处理和交付页面。
我尝试将 HTTP 代码放入 BackgroundWorker 并异步运行,但我最初收到以下错误;
在这种情况下不允许异步操作。页面起始 异步操作必须将 Async 属性设置为 true 并且异步操作只能在之前的页面上启动 PreRenderComplete 事件。
所以我按照我的指示做了,并为页面赋予了 Async 属性。然后我做了一些研究,发现我的 BackgroundWorker 实际上并没有像我预期的那样执行异步操作。一些背景资料 (http://www.pluralsight-training.net/community/blogs/mike/archive/2005/11/04/16213.aspx) 告诉我;
PreRender 和 PreRenderComplete 事件 [do] 直到所有 所有已注册异步任务的超时事件处理程序都有 被调用并返回。
如何确保我的 BackgroundWorker 不会暂停页面的处理?
【问题讨论】:
标签: c# asp.net .net multithreading