RKP*_*RKP 1 asp.net iis wcf application-pool reporting-services
我在IIS中托管了一个WCF服务,需要很长时间(大约5个小时)才能执行.WCF服务基本上使用SSRS(SQL服务器报告服务)生成一些报告,并将它们保存到服务器上的位置.这个服务实际上在生成少量报告后就停止了,所以我禁用了"回收工作进程","在空闲后关闭工作进程"和"限制应用程序池中的内核请求队列"并修复了问题并且所有报告都是无论生成它们的数量是多少都生成.但我不确定这是否是正确的解决方案,我想知道在IIS的WCF服务的应用程序池中取消选中这些设置有什么影响?有没有更好的方法来解决这个问题?
对于任何长时间运行的进程,在IIS之外执行它会好得多.
在这种情况下,我将运行一个监视请求队列的常规Windows服务.当请求进入生成报告时,它会分离一个线程来执行生成.
Web服务将负责3件事.首先,将项添加到要处理的队列中.其次,检查队列中的状态是否已准备好报告.第三,将完成的报告发送回主叫客户端.
这将允许客户端基本上触发并忘记报告请求,并稍后回电以检查其状态.此外,这意味着如果IIS因任何原因而被回收,您仍然可以.
对于奖励积分,我会添加一些错误处理代码,当Windows服务重新启动时,它可以重新启动正在执行的报告作业.这样可以使它更健壮,并允许您随时重启服务器.
| 归档时间: |
|
| 查看次数: |
2297 次 |
| 最近记录: |