4

IIS7 に移行しようとしている古いコードを使用しています (率直に言って、それが何をするのか半分もわかりません)。

私が目にする問題の 1 つは、次のエラーが発生することです。

[SecurityException: ソースが見つかりませんでしたが、一部またはすべてのイベント ログを検索できませんでした。アクセスできないログ: セキュリティ]

手動で HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security に移動し、そのキーの (セキュリティ) アクセス許可を設定して、「全員」がフル アクセスできるようにすると、問題はなくなります。しかし、明らかにそれは最適な解決策ではありません。

この例外を削除するより良い方法を知っている人はいますか?

4

2 に答える 2

4

これを修正する 1 つの方法は、単純なコンソール アプリケーションを完全な信頼の下で実行し、問題のあるソース名の下に 1 つの EventLog エントリを書き込むことです。これは、サーバーごとに1 回行う必要があります。

その瞬間から、そのソース名でログインできるはずです。(少なくともそれは私の観察です。)ASP.NETの下では実行できない未知のソースを作成しているだけで、既存のソースへのログは問題になりません。

質問: ソース名を知っていますか? そうでない場合は、Everyone へのアクセスを一時的に許可し、ログ メッセージを待って、Everyone を削除することもできます。

Microsoft の公式な方法は、イベント ログ ソースを登録するインストーラーを作成することです。

于 2009-08-11T17:53:28.783 に答える
1

このスレッドから:

EventLog.CreateEventSource() メソッドは、ソースを作成するイベント ログだけでなく、すべてのイベント ログでイベント ソースを検索しようとします。これには 2 つの解決策があります。最初の、最も簡単で安全でない方法は、ASP.NET アカウントのすべてのイベント ログへの読み取り/書き込みアクセスを許可することです。

コードとその他のソリューションも提供されています。

于 2009-08-11T18:04:27.983 に答える