【发布时间】:2011-07-07 10:29:09
【问题描述】:
一个简单的问题。我有一个生成报告的 ASHX 处理程序。不幸的是,此过程可能需要 2 分钟或更长时间才能完成,并且 Azure 将在此处理程序响应之前关闭连接。为什么?因为连接空闲时间过长,所以被kill掉了。
所以,我需要以某种方式保持这种联系。为了使它更复杂一点,处理程序是从 Silverlight 应用程序调用的,该应用程序将从当前网页上的框架调用处理程序,或者(当不从浏览器运行时)创建一个新的浏览器实例来调用处理程序。
我的挑战是用最少的代码来解决这个超时。而且,代码需要像现在一样工作!
在单独的框架或浏览器窗口中打开处理程序允许将报告保存在用户系统的任何位置。如果我从 Silverlight 代码中下载它,我将没有正确的写入权限。将不会授予任何需要写入本地磁盘的 Silverlight 应用程序的权限,因此使用浏览器/框架的解决方法。
【问题讨论】:
-
学分:这个 Q 的标题来自 smarx,来自他在stackoverflow.com/questions/4858800/wcf-timeout-issue 中的回答;-) 这解释了问题,只是没有提供解决方案......(此外,我使用了一个处理程序,而不是服务。)
标签: asp.net silverlight azure timeout load-balancing