クラスタ化されたMSMQのパフォーマンスカウンタを読み取ろうとしました。私はこの値を読み取る方法を見つけるためにいくつかの記事を見てきました。そして、カウンタ値を読み取るためには、 "NetNameForPerfCounters"という名前のRegistryKeyを作成する必要があるというソリューションを見てきました。これはHKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ MSMQ \ PARAMETER \ NetNameForPerfCountersの下に作成され、値として私のクラスタのネットワーク名が指定されています。しかし、無駄なことは何も読んでいない。クラスタ化されたMSMQのパフォーマンスカウンタを取得
var category = new PerformanceCounterCategory("MSMQ Queue", "<Clustered IP>")
Console.WriteLine(category.GetInstanceNames().Count().ToString());
これは常に0
はい、あなたのPowerShellスクリプトは、クラスタの両方の「IP」&ネットワーク名と協力していますが、私は、「C#のでPerformanceCounter」これを達成したい – Brijesh
だから、(特別な権限を?)PowerShellの作品からカウンターを取得しかし、 ""の代わりにクラスタのWindows名を使用しても、C#コードでは機能しません。 –
C#コードはコマンドラインのexeですか?それがWCFまたはAsp.Netでホストされている場合、IISアカウントの下で実行されるため、アクセス権がほとんどなくなり、失敗する可能性があります。 –