【发布时间】:2012-12-26 10:43:06
【问题描述】:
我想通过c#编程获取AppFabric缓存主机的运行状态。有没有办法做到这一点?
【问题讨论】:
标签: c# .net status appfabric host
我想通过c#编程获取AppFabric缓存主机的运行状态。有没有办法做到这一点?
【问题讨论】:
标签: c# .net status appfabric host
您可以按照以下步骤使用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.ClientMicrosoft.ApplicationServer.Caching.CoreMicrosoft.ApplicationServer.Caching.ManagementSystem.Management.Automation【讨论】: