当用户点击一个按钮时,我使用ThreadPool.QueueUserWorkItem
来产生一个线程来启动一个长时间运行的进程。我想在线程完成时使按钮可见,以便用户可以点击它。ThreadPool.QueueUserWorkItem完成事件?
是否有ThreadPool
完成的事件那我想干什么?
其中一个页面在点击时有一个按钮连接到WS并启动一个长时间运行的创建文件的进程。在处理时间内,我想向用户显示进度条。处理完成后,我想提供一个指向已创建文件的链接。许多用户在创建不同文件的同一时间点击按钮。我想你会称之为可以使用异步方法实现的单个请求?
快速适量约异步页:
的MSDN链接具有下面的代码:
AddOnPreRenderCompleteAsync( 新BeginEventHandler(MyBeginMethod), 新EndEventHandler(MyEndMethod) );
看来,MyBeginMethod
被踢掉页面加载,会为我相同的代码片段工作,如果我想要启动按钮上的异步过程点击?
- 我可以访问
MyBeginMethod
和UI控件MyEndMethod
方法(这样我可以做的过程中完成一个下载文件按钮可见?抑或是不同的线程拥有这些控件?
已更新的答案。另外,我会跳过异步页面。异步页面模式对于新开发人员来说非常混乱(我已经6年了,它仍然令我困惑!)。检查我的答案是一个好的解决方案。 – Will 2009-11-17 18:26:54