2

我正在使用 Microsoft Reporting Services (SSRS) 2008 和扩展数据读取器/数据集提供程序(即使用我自己编写的数据读取器并将其集成到 SSRS 中)。每次我有更新(即将新的二进制文件复制到 SSRS 中的 bin 文件夹)时,我都必须手动重新启动服务。

我在 IIS 中看到,SSRS 中使用的机制与 IIS 类似,但 IIS 有一个文件监视程序,如果文件更改,它会自动重新启动(或至少自动加载新的 dll/configs)。

我的问题是是否有一种机制(理想情况下已经集成在 SSRS 中)对 SQL Server Reporting Services 2008 有同样的作用?

如果没有,还有什么其他选择可以处理这个问题?

4

2 回答 2

1

看到没有人尝试回答,我会刺伤。您不能开发一个小型 Windows 服务,使用 .NET 中的FileSystemWatcher监视目录中的文件更新,然后以编程方式重新启动 SSRS 服务吗?您也许可以使用 WMI 调用重新启动(检查此处)。如果没有,那么您可能可以运行net stopandnet start命令,例如

net stop ReportServer$SQL2008
net start ReportServer$SQL2008

您可能需要更改服务名称以匹配。

于 2010-08-09T13:41:05.693 回答
1

如果您复制正在使用的二进制文件,那么无论如何您都需要在复制之前停止该服务。这意味着更多的部署脚本/应用程序而不是文件观察程序。

您还可以使用 ServiceController 根据名称停止和启动服务。所以停止服务、推送新的二进制文件然后重新启动服务并不难。

是服务停止和停止的示例。

于 2010-08-09T13:50:45.203 回答