そのため、いくつかのカスタム パフォーマンス カウンターを作成し、それらを 1 つのカテゴリにグループ化しています。これは、IIS 7 でホストされ、Visual Studio を介して実行される WCF アプリケーション内に構築されます。
ここでmsdnの例とドキュメントに従っています
メソッドで使用しているコードは次のとおりです。
if (PerformanceCounterCategory.Exists("MyCategory"))
{
PerformanceCounterCategory.Delete("MyCategory");
}
CounterCreationDataCollection counters = new CounterCreationDataCollection();
CounterCreationData getRequests = new CounterCreationData();
getRequests.CounterName = "Get count per sec";
getRequests.CounterHelp = "Get count per sec";
getRequests.CounterType = PerformanceCounterType.RateOfCountsPerSecond64;
counters.Add(getRequests);
CounterCreationData headRequests = new CounterCreationData();
headRequests.CounterName = "Head count per sec";
headRequests.CounterHelp = "Head count per sec";
headRequests.CounterType = PerformanceCounterType.RateOfCountsPerSecond64;
counters.Add(headRequests);
PerformanceCounterCategory.Create("MyCategory", "Custom Category", PerformanceCounterCategoryType.SingleInstance,counters);
私が遭遇している問題は、最後の行で例外が発生していることです
タイプ 'System.ComponentModel.Win32Exception' の未処理の例外が System.dll で発生しました追加情報: パラメータが正しくありません
編集:
コール スタックは次のようになります。
System.Diagnostics.PerformanceCounterLib.RegisterFiles(String arg0, Boolean unregister) System.Diagnostics.PerformanceCounterLib.RegisterCategory(String categoryName, PerformanceCounterCategoryType categoryType, String categoryHelp, CounterCreationDataCollection creationData) で System.Diagnostics.PerformanceCounterCategory.Create(String categoryName, String categoryHelp, PerformanceCounterCategoryType カテゴリ タイプ、CounterCreationDataCollection カウンタデータ)
誰かがこの問題を知っているか見たことがあるかどうか疑問に思っていましたか?