将耗时的进程从我的 ASP.NET 应用程序中移走

2024-04-29

我的 Asp.net 应用程序生成动态 pdf。有时这需要一段时间,并且是一个相当繁重的过程。实际上我不希望我的用户等待pdf,只需在生成后将其发送到那里的邮件即可。

所以我尝试了网络服务。我将一个 id(从数据库获取数据)和一些字符串传递给 webservice 的方法。

但对于 Web 服务(即使使用异步调用),客户端也只能在生成 pdf 后收到其响应。所以用户还需要等待。

所以我有点卡住了,一定有一种我忽略的方式。


您不需要 Web 服务即可获得进行异步调用的能力。

你可以只使用ThreadPool.QueueUserWorkItem() http://msdn.microsoft.com/en-us/library/system.threading.threadpool.queueuserworkitem.aspx作为 ASPX 页面中的“即发即弃”方法,然后返回带有某种“工作项 ID”的回复 - 例如收据或订单号。

在传递给 QUWI 的 WaitCallback 中生成 PDF。 当 pdf 准备好时,WaitCallback 可以发送电子邮件或其他任何内容。


如果您希望在网页之外可以访问该功能,请使用网络服务。不要严格将其用于异步。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将耗时的进程从我的 ASP.NET 应用程序中移走 的相关文章

随机推荐