Где ELMAH сохраняет свои данные? - PullRequest
41 голосов
/ 18 февраля 2012

Я только что установил ELMAH.MVC (больше информации здесь ) и мне было интересно, где хранятся его данные. Я прочитал, что вы можете настроить базу данных для хранения, но кажется, что при установке по умолчанию используется "в памяти"? Как это работает? Если я перезапущу пул приложений или веб-сайт IIS, я потеряю все данные? Спасибо!

Ответы [ 2 ]

37 голосов
/ 18 февраля 2012

Да, по умолчанию используется память.Когда ваш пул приложений перезапускается, вы теряете данные elmah.Если я хорошо помню, старые версии elmah использовали папку App_Data для хранения XML-файлов ... Если вы хотите использовать базу данных для хранения журналов, просто укажите строку подключения в разделе конфигурации elmah:

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

...
</elmah>

Вы должныElmahConnectionString в разделе connectionStrings, что-то вроде этого:

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

Здесь вы можете найти пример файла web.config.

4 голосов
/ 18 февраля 2012

Прочтите в теме «Изучение класса ErrorLog», и вы найдете свой ответ

Использование модулей и обработчиков HTTP для создания подключаемых компонентов ASP.NET

...