Я только что установил ELMAH.MVC(подробнее здесь) и задавался вопросом, где хранятся его данные. Я читал, что вы можете настроить базу данных для хранения, но кажется, что установка по умолчанию использует "в памяти"? Как это работает? Если я переработаю пул приложений или веб-сайт IIS, я потеряю все данные? Спасибо!
Где ELMAH сохраняет свои данные?
Ответ 1
Да, по умолчанию он использует память. Когда пул приложений перезагружается, вы теряете данные 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.
Ответ 2
Читайте в разделе "Изучение класса ErrorLog", и вы найдете свой ответ
Использование HTTP-модулей и обработчиков для создания подключаемых компонентов ASP.NET