我刚刚安装了ELMAH.MVC(更多信息here)并想知道其数据的保存位置。我读过您可以选择设置数据库进行存储,但似乎默认安装使用“内存中”?它是如何工作的?如果我回收应用程序池或IIS网站,我是否会丢失所有数据?谢谢!
答案 0 :(得分:37)
是的,默认情况下它使用内存存储。重新启动应用程序池时,会丢失elmah数据。如果我记得很清楚,旧版本的elmah使用App_Data文件夹存储xml文件......如果你想使用数据库存储日志,只需在你的elmah配置部分指定连接字符串:
<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>
Here您可以找到示例web.config文件。
答案 1 :(得分:4)
阅读“检查ErrorLog类”主题,您将找到答案
Using HTTP Modules and Handlers to Create Pluggable ASP.NET Components