很多时候,我必须使用 SQL 服务器从 asp.net 站点向第三方会计系统发送数据或从第三方会计系统发送数据。数据导入通常需要一段时间,我正在尝试找到处理长时间运行任务的最佳方法,如果他们想了解它的运行情况,可以更新用户。我的问题是以下方法的优缺点是什么,您推荐什么,为什么?
旧式asp response.write:我实际上使用了很多,目前是我的首选方法,因为它很快。我真的没有很多问题。我认为应用程序池回收将是一个问题,但我认为它不会在请求中间进行回收。
使用此处建议的 IFrame http://encosia.com/easy-incremental-status-updates-for-long-requests/:与上述方法类似,但这是异步的。我不确定这是否允许 asp .net 重启
一个从站点调用 Web 服务的单独 Windows 应用程序:我使用过这种方法,但是设置时间会更长一些,并且会在应用程序池回收时停止运行。我可能不会使用这种方法
Windows 工作流程:没有使用过,但似乎(特别是对于小数据更新)会过大
Windows 服务:同上。好像太难了
Ajax,用于轮询缓存结果的单独线程和计时器:我也使用过很多次,但如果应用程序池回收,这将停止,因为它位于 asp.net 不知道的单独线程上。