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

本文关键字:是否 服务 编程 运行 方式 AppFabric Windows 何识别 识别 | 更新日期: 2023-09-27 17:49:27

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

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

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

的例子:

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

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

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

  • 在c#中使用命令行参数执行PowerShell脚本

您需要引用system.management.automation程序集来完成业务。你需要调用的cmlet是Get-CacheHost,因为它会告诉你服务是up还是down。然而,我在这方面遇到了一些问题。当您执行cmlet时,需要在更高的权限下执行。此外,执行它的帐户需要在指向的缓存集群中的机器上具有管理权限。所以. .这并不理想。