web-dev-qa-db-ja.com

ELMAHはどこにデータを保存しますか?

ELMAH.MVC(詳細 ここ )をインストールしたところ、データがどこに保存されるのか疑問に思っていました。ストレージ用にデータベースを設定することを選択できると読みましたが、デフォルトのインストールでは「メモリ内」を使用しているようです。それはどのように機能しますか?アプリプールまたはIIS Webサイトをリサイクルした場合、すべてのデータが失われますか?ありがとうございます!

41
Joao Leme

はい、デフォルトでメモリストレージを使用します。アプリケーションプールを再起動すると、elmahデータが失われます。よく覚えていると思いますが、古いバージョンのelmahはxmlファイルの保存にApp_Dataフォルダーを使用していました...データベースを使用してログを保存する場合は、elmah configセクションで接続文字列を指定するだけです。

<elmah>
...
<errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="ElmahConnectionString"/> 

...
</elmah>

次のようなconnectionStringsセクションにElmahConnectionStringが必要です。

<connectionStrings>
    <add name="ElmahConnectionString "
         connectionString="Initial Catalog=my_database;data source=.\SQLEXPRESS;Integrated Security=SSPI;"
         providerName="System.Data.SqlClient" />
...
</connectionStrings>

ここ web.configファイルの例を見つけることができます。

37

「ErrorLogクラスを調べる」トピックを読んでください、そしてあなたはあなたの答えを見つけるでしょう

HTTPモジュールとハンドラーを使用してプラグ可能なASP.NETコンポーネントを作成する

4
Dot Freelancer