2

Windows イベント ログにいくつかのメッセージを書き込もうとしています。

関数「SourceExists()」を呼び出すと、(セキュリティ) 例外がスローされます。

private bool CheckIfEventLogSourceExits()
    {
        try
        {
            if (!EventLog.SourceExists(this.BaseEventLog))
            {
                return false;
            }
            return true;
        }
        catch (System.Security.SecurityException)
        {
            return false;
        }
    }

この質問に対するすべての回答は、問題を手動で解決する方法を説明しています。ここのように: Stackoverflow Thread。解決策は、いくつかのレジストリキーを変更することです

ただし、アプリケーションを使用するすべての人がこれらの変更を認識しているとは期待できません。

私の質問は、この問題をプログラムでどのように解決できるでしょうか?

私のコードの下:

 try
            {
                string sLog = "Application";
                if (CheckIfEventLogSourceExits())
                {
                    EventLog.CreateEventSource(this.BaseEventLog, sLog);
                }

                EventLog.WriteEntry(this.BaseEventLog, message, eventLogEntryType);
            }
            catch (Exception ex)
            {
                ex.Source = "WriteToEventLog";
                throw ex;
            }
4

1 に答える 1