我正在使用Microsoft Reporting Services(SSRS)2008和扩展数据引导器/数据集提供程序(即使用我自己编写并将其集成到SSRS中的Datareader)。每当我有更新(即将新的二进制文件复制到SSRS中的bin文件夹)时,我手动必须重新启动该服务。
我在IIS中看到SSRS中使用的机制与IIS类似,但IIS有一个filewatcher并在文件发生变化时自动重启(或者至少自动加载新的dll / configs)。
我的问题是,是否存在对SQL Server Reporting Services 2008执行相同操作的机制(理想情况下已集成在SSRS中)?
如果没有,处理此问题的其他选择是什么?
答案 0 :(得分:1)
看到没有人正在回答我会被刺伤。您是否可以使用.NET中的FileSystemWatcher开发一个监视目录以进行文件更新的小型Windows服务,然后以编程方式重新启动SSRS服务?您可以使用WMI(check here)调用重新启动。如果没有,那么您可以运行net stop
和net start
命令,例如
net stop ReportServer$SQL2008
net start ReportServer$SQL2008
您可能需要更改服务名称以匹配。
答案 1 :(得分:1)
如果您复制正在使用的二进制文件,则无论如何都需要在复制之前停止服务。这意味着更多的部署脚本/应用程序而不是文件观察程序。
您还可以使用ServiceController根据名称停止和启动服务。因此,停止服务,推送新的二进制文件然后重新启动服务并不困难。
Here是服务停止和停止的示例。