的问题是如下: 外部服务器发送转换为HTTP请求到我有时非常耗时.aspx页接收到的SMS消息。如果没有响应,在20秒内返回到外部服务器,这被认为是一个超时和相同的消息再次发到我的aspx页面(也许再次....)ASP.NET,异步调用到另一页,返回响应立即
对我来说,最佳的解决办法是aspx页面读取传入消息(作为对aspx页面的HTTP请求),在另一个线程中开始处理消息,并立即将响应呈现回外部服务器。外部服务器对HTTP状态以外的其他内容没有兴趣(通常为200)。消息处理完成后,会导致进入应用程序的日志文件。
对消息的处理是通过向aspx页面发出另一个web请求来完成的,并且我试图对web请求使用BeginGetResponse方法,并创建了一个用于处理已完成的web请求的处理程序页。问题在于处理程序似乎不被调用,很可能是因为aspx页面的生命周期在异步web请求完成之前结束。
有没有人对这个问题有什么好的解决办法吗?我也查看了异步页面模型,但这似乎也不是我的解决方案,因为在完成消息处理之前,响应应该返回给外部服务器。
的问候,的Eivind
感谢您的回答。我希望可以在aspx页面中实现一个解决方案,但是将传入的消息转储到数据库中并使用服务来轮询新消息看起来像一个可靠的解决方案 – 2010-02-13 16:48:44