我希望你们能帮上忙:)
在浏览器中呈现页面后,我需要做一些事情。详细地说,我需要发送电子邮件/短信和其他非浏览器相关的东西,但操作需要时间,我不希望我的访客等待5-8的成功信息。
我已经尝试将“后呈现代码”放置在页面卸载事件中。这似乎是可行的,但只适用于本地主机。它不能在我们的生产服务器上工作。
所以我想,也许这是一些IIS设置?我也读过它是由浏览器决定的,如果它在呈现完成后显示这个电-或者等待整个包结束。
所以我试着在我的“A”之前用Response.end来结束这个包裹,但那只是扼杀了它。
你们对此有什么解释或理论吗?
发布于 2010-12-10 08:59:31
ThreadPool线程可能帮助您实现此功能。
发布于 2010-12-10 08:54:41
您可能会看到电子邮件/ SMSing与页面完全异步分离,例如通过使用MSMQ队列。通过这种方式,您还可以以更健壮的方式处理电子邮件/ SMS,例如,如果SMTP服务器关机或SMS网关繁忙,请在10分钟内重试。
编辑: Re : MSMQ与线程/线程池--在大多数情况下,使用新的辅助线程也应该可以正常工作,但是,对于高端可伸缩性,您可能会考虑使用MSMQ或类似的。
看一下这个,所以发布这里
线程池(或线程)--更快更容易实现--如果应用程序池被回收,未发送的SMS/消息将丢失--将争夺线程(推荐使用自定义线程池)
MSMQ --需要更多的工作--将需要创建一个新的侦听器进程(例如使用WCF)来处理消息--除非您能够控制服务器,否则可能很难托管--可以是事务性的和持久的--也就是说,即使您的App被回收或服务器重新启动,未发送的消息也不会丢失。-可以对吞吐量、-throttling和延迟交付进行更多的控制--例如,在更便宜的时候发送短信
发布于 2010-12-10 08:56:01
您可以创建一个新线程,并在该线程上调用您的方法。
https://stackoverflow.com/questions/4407073
复制相似问题