Я пытался читать счетчик производительности кластерного MSMQ. Я просмотрел несколько сообщений, чтобы узнать способ прочитать это значение, и я видел решение, в котором говорится, что для чтения значения счетчика необходимо создать RegistryKey с именем «NetNameForPerfCounters». Это должно быть создано в 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» и сетевым именем кластера, но я хочу, чтобы достичь этого «PerformanceCounter с C#» – Brijesh
Так получать счетчик из Powershell работ (без специальных разрешений?) , но даже если вы используете имя окна кластера вместо «», оно не работает в коде C#? –
Является ли код C# командной строки exe? Если он размещен в WCF или Asp.Net, он будет запускаться под учетной записью IIS с почти никакими разрешениями, чтобы сбой был –