我的 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(使用前将#替换为@)