4

有谁知道如何检查 Windows Server AppFabric 缓存服务是否已启动并以编程方式运行?

如果 AppFabric 服务关闭,它将引发异常。这是一个非常昂贵的过程,因此在从 AppFabric 创建缓存对象之前,我需要检查服务是否已启动并运行。

这意味着我只想在 AppFabric 正在运行时将 AppFabric 用作缓存服务,否则我想使用System.Web缓存。

例子:

if (checking) 
   customCache = new WebDataCache(); 
else 
   customCache = new AppFabricDataCache();
4

1 回答 1

1

通过 C# 做到这一点并不容易。没有公开的管理 api 允许您直接以编程方式检查它。如果你想这样做,你将不得不编写 c# 代码来调用适当的 powershell cmdlet。这里有一个例子:

您需要参考system.management.automation程序集来开展业务。您需要调用的 cmdlet 是Get-CacheHost,因为它会告诉您服务是启动还是关闭。但是,我对此有一些疑问。执行 cmdlet 时,需要在提升的权限下完成。此外,您正在执行它的帐户需要对您指向的缓存集群中的计算机具有管理权限。所以..这并不理想。我试图这样做并因此而停止。

于 2013-01-16T10:16:37.207 回答