我将创建一个ASP.net页面,用于创建一些Excel表格并将它们发送给用户。问题是,有时我会得到Http超时,可能是因为请求运行的时间比executionTimeout长(默认110秒)。
我只是想知道我的选择是什么来防止这种情况,而不想通常增加web.config中的executionTimeout
在PHP中,set_time_limit是存在的,它可以在一个函数中使用来延长它的寿命,但我在C#/ASP.net中没有看到这样的东西?
如何在ASP.net中处理长时间运行的函数?
发布于 2008-08-27 08:45:59
如果您想增加这一个请求的执行超时,您可以设置
HttpContext.Current.Server.ScriptTimeout但是您可能仍然会遇到客户端超时的问题,您不能直接从服务器可靠地解决这个问题。要解决这个问题,您可以实现一个“处理”页面(就像Rob建议的那样),该页面在响应准备就绪之前进行回发。或者,您可能希望研究AJAX来做类似的事情。
发布于 2008-08-27 07:54:49
我自己还没有真正面对过这个问题,所以请记住这一点。
您是否可以异步运行进程并指定一个回调方法以在完成后执行,然后将页面保持为“我们正在处理您的请求..”循环周期。然后你可以打开它来添加一些很好的UI增强功能。
只是有点大声的思考。这可能是我想要做的事情:)
https://stackoverflow.com/questions/29686
复制相似问题