有人知道如何检查Windows Server AppFabric缓存服务是否启动并以编程方式运行吗?
如果AppFabric服务关闭,它将抛出一个异常。这是一个非常昂贵的过程,因此我需要在从AppFabric创建缓存对象之前检查服务是否启动并运行。
这意味着我只希望在AppFabric运行时使用AppFabric作为缓存服务,否则我想使用System.Web
缓存。
的例子:
if (checking)
customCache = new WebDataCache();
else
customCache = new AppFabricDataCache();
通过c#实现这一点并不容易。没有公开的管理api允许您以编程方式直接检查这个。如果您想这样做,您将不得不编写c#代码来调用适当的powershell cmd。在SO中有一个例子:
- 在c#中使用命令行参数执行PowerShell脚本
您需要引用system.management.automation程序集来完成业务。你需要调用的cmlet是Get-CacheHost,因为它会告诉你服务是up还是down。然而,我在这方面遇到了一些问题。当您执行cmlet时,需要在更高的权限下执行。此外,执行它的帐户需要在指向的缓存集群中的机器上具有管理权限。所以. .这并不理想。