2

AppFabricC# プログラミングを使用して、キャッシュ ホストの実行状態を取得したいと考えています。これを行う方法はありますか?

4

1 に答える 1

2

Powershell次の手順に従うコマンドでそれを行うことができます。

  • ダウンロードPowerShell v2 SDK
  • Powershell コマンドを実行するための環境を作成します。
var initialSessionState = InitialSessionState.CreateDefault();
initialSessionState.ThrowOnRunspaceOpenError = true;
runspace = RunspaceFactory.CreateRunspace(initialSessionState);
runspace.Open();
  • パイプラインを作成しましょう。

var pipeline = runspace.CreatePipeline();

  • キャッシュで実行される Powershell のパイプラインにコマンド ラインを渡します。
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
于 2012-12-26T11:07:32.347 に答える