如何识别Windows AppFabric服务是否以编程方式运行?

时间:2012-12-22 06:03:19

标签: c# .net appfabric appfabric-cache

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

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

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

示例:

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

1 个答案:

答案 0 :(得分:1)

通过C#做起来并不容易。没有管理API暴露,允许您直接以编程方式检查。如果要执行此操作,则必须使用c#代码调用相应的powershell cmdlet。 SO中有一个例子:

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