我希望通过c#编程获得AppFabric
缓存主机的运行状态。有没有办法做到这一点?
答案 0 :(得分:2)
您可以按照以下步骤使用Powershell
命令执行此操作;
PowerShell v2 SDK
var initialSessionState = InitialSessionState.CreateDefault(); initialSessionState.ThrowOnRunspaceOpenError = true; runspace = RunspaceFactory.CreateRunspace(initialSessionState); runspace.Open();
var pipeline = runspace.CreatePipeline();
pipeline.Commands.Add(new Command("Use-CacheCluster")); pipeline.Commands.Add(new Command("Get-CacheHost"));
Get-CacheHost
为我们提供缓存服务器信息。并使用Invoke()
方法运行。
var result = pipeline.Invoke();
result
对象,var initialSessionState = InitialSessionState.CreateDefault(); initialSessionState.ImportPSModule(new[] { "DistributedCacheAdministration" }); initialSessionState.ThrowOnRunspaceOpenError = true; runspace = RunspaceFactory.CreateRunspace(initialSessionState); runspace.Open(); var pipeline = runspace.CreatePipeline(); pipeline.Commands.Add(new Command("Use-CacheCluster")); pipeline.Commands.Add(new Command("Get-CacheHost")); var result = pipeline.Invoke(); var hostInfo = (HostInfo)result[0].BaseObject; Console.Out.WriteLine("Server Name : " + hostInfo.HostName); Console.Out.WriteLine("Server Port : " + hostInfo.PortNo); Console.Out.WriteLine("Server Service Name : " + hostInfo.ServiceName); Console.Out.WriteLine("Server Status : " + hostInfo.Status); Console.Out.WriteLine("Server Version : " + hostInfo.VersionInfo);
另外,不要忘记添加这些程序集引用;
Microsoft.ApplicationServer.Caching.Client
Microsoft.ApplicationServer.Caching.Core
Microsoft.ApplicationServer.Caching.Management
System.Management.Automation