2011-08-02 9 views
0

ASP.Net 3.5 Webアプリケーションから、私はWindows EventLogにメッセージを記録しようとしています。イベントログがasp.netアプリケーションで動作していない

私は最初にEntLib Logginhブロックを試しましたが、これが失敗したときに私はEventLogクラスを使って直接試しました。それも失敗しました。彼らは例外をスローしません...ただメッセージを書きません。 EntLibはメッセージをファイルに書き出しましたが、Windows EventLogには書き出しませんでした。私はインストーラクラスのログ&ソースを作成

public static void LogMessage(string title, string message){

 //EventLog log = new EventLog(); 
     //log.Source = LOG_SOURCE; 
     //log.WriteEntry(message, EventLogEntryType.Error); 

     //EventLog.WriteEntry(LOG_SOURCE, message); 

     LogWriter writer = EnterpriseLibraryContainer.Current.GetInstance<LogWriter>(); 
     writer.Write(message); 
    } 

は、ここに私のコードです。そのコードをここに配置する必要があるかどうかを教えてください。ログはEventViewerで見ることができるので、正しく作成されます。ソースはregeditの "EventLog \ MyLog"フォルダに表示されるので、正しく作成されます。

私が読んで、次の行を述べる記事が役立つ可能性がありますされてきた。

EventLogPermission perm = new EventLogPermission(EventLogPermissionAccess.Administer, ".");

  perm.PermitOnly(); 

が、それはしませんでした。

ことができます場合は、次のように私のコードの構造は次のとおりです。

  1. クラスライブラリプロジェクト(ここでLogMessageに方法がある)
  2. クラスライブラリプロジェクト(ここでは例外をキャッチし、LogMessageにを呼び出す方法がある)
  3. ASPネットのWebアプリケーションプロジェクト(Webページ。この層は、層#2を呼び出します。ここに私のインストーラクラスは、あまりにもある)
  4. Webセットアッププロジェクト(これはウェブセットアッププロジェクトの出力を指すカスタムアクションを持っている)

何が起こっているのか理解してもらえますか?

おかげ

私は以下のリソースが見つかりました: "http://www.netframeworkdev.com/net-base-class-library/trouble-writing-to-eventlog-16723.shtmlを"、それはそうですそれはASPからカスタムログを作成する可能性はない...まだ

答えて

0

を調査することはNetwork Serviceが、私はそれをどのように行うか、適切なpermissions

+0

こんにちは@のKD7を占めて与えてみ?何の上の許可???あなたは例がありますか? –

+0

リンクをクリックしましたか? – kd7

+0

あなたが使用している疑いのあるIIS 7では、ASPNETはデフォルトの実行コンテキストアカウントではなく、ネットワークサービスであるため、ネットワークサービスに適切なアクセス許可を与えると便利です – kd7

関連する問題