パフォーマンス カウンターをインクリメントするために必要なアクセス許可を判断するのに苦労しています。カウンターで .Increment を呼び出そうとしたときに、InvalidOperationException/Access Denied (と思う) が 1 回だけ発生しました。これにより、次の情報が得られました。
http://support.microsoft.com/kb/555129
パフォーマンス カウンターを更新する ASP.NET アプリケーションを運用環境に移行するプロセスに関する最大の問題は、アクセス許可です。既定では、パフォーマンス カウンターをインクリメントするには、ユーザーは管理者またはパワー ユーザーの権限を持っている必要があります。
そこから、ユーザーをパワー ユーザー グループに追加し、問題なく続行しました。「パワーユーザー」がVista以外の権限を持っていないことを後で発見したのは、無関係の問題からであり、同じ記事に戻ることができました。
幸いなことに、これらの代替手段を考えると、パフォーマンス カウンターを更新するために必要なアクセス許可セットは、管理者またはパワー ユーザーとして実行する場合よりもはるかに小さいことがわかります。レジストリ キー HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib で、必要なユーザーがフル コントロールを持つようにアクセス コントロール リストを設定します。元の例では、ASPNET ユーザーにフル コントロールが付与されますが、パフォーマンス カウンターを更新する必要があるすべてのユーザーにアクセスを付与できます。
しかし、戻ってテスト ユーザーをパワー ユーザー グループから削除したため、アプリケーションはまだ問題なくカウンターをインクリメントしているため、それは真実ではないようです。
さらに、設定する権限があれば、HKLM\System\CurrentControlSet\services\ の下の個別のカウンターにあるようです。
元のアクセス許可の問題を引き起こしたコードに他の問題があった可能性があることを十分に認めます。ただし、これを XP にまでさかのぼって展開する必要があるため、上記が単に古い情報なのか、それとも完全に間違っているのかを確認することが重要です。すぐにこれを自分で確認できますが、誰かが情報を検証したり、具体的なドキュメントを教えてくれたりするといいでしょう.