首页 / C# / C#-ASP.NET真正的异步操作
C#-ASP.NET真正的异步操作
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-ASP.NET真正的异步操作,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1282字,纯文字阅读大概需要2分钟。
内容图文
![C#-ASP.NET真正的异步操作](/upload/InfoBanner/zyjiaocheng/654/55e763b45f5f4c80a8395fd1239829f9.jpg)
我正在尝试从ASP.NET页触发几个HTTP请求.页面本身不需要知道响应,应该继续处理&传递页面.
我尝试将HTTP代码放入BackgroundWorker中并异步运行,但是最初出现以下错误;
Asynchronous operations are not allowed in this context. Page starting
an asynchronous operation has to have the Async attribute set to true
and an asynchronous operation can only be started on a page prior to
PreRenderComplete event.
因此,我按照被告知的方式进行操作,并为页面提供了Async属性.然后,我做了一些研究,发现我的BackgroundWorker实际上并没有执行我所期望的异步操作.一些背景读物(http://www.pluralsight-training.net/community/blogs/mike/archive/2005/11/04/16213.aspx)告诉我;
PreRender and PreRenderComplete events [do] not resume until all of
the timeout event handlers for all of the registered async tasks have
been invoked and return.
如何确保我的BackgroundWorker不会暂停页面的处理?
解决方法:
要查看的另一个选项是ThreadPool.QueueUserWorkitem().它将异步触发一些东西.它还将在asp.net线程池中的线程上使用.
我通常在服务器上使用threadPool,在gui / winforms中使用BackGroundWorker.这并不是说无法完成.
如果您被BackgroundWorker困扰,那至少是其他尝试…
这是其他一些SO帖子:
ThreadPool.QueueUserWorkItem uses ASP.Net
ThreadPool.QueueUserWorkItem with a lambda expression and anonymous method
ThreadPool.QueueUserWorkItem with function argument
内容总结
以上是互联网集市为您收集整理的C#-ASP.NET真正的异步操作全部内容,希望文章能够帮你解决C#-ASP.NET真正的异步操作所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。