我已经部署了我的MVC应用程序,但错误处理不起作用.我使用SQLite数据库,当我尝试导航到Elmah中的错误消息时,我得到了这个异常;
System.Data.SqlClient.SqlException:找不到存储过程'ELMAH_GetErrorsXml'.
当然我需要部署我的web.config中定义的SQLite数据库;
add name ="ELMAH.SQLite"connectionString ="Data Source = | DataDirectory | errors.s3db"/>
我在考虑部署应用程序时没有部署SQLite数据库.但我无法在我的本地文件系统上找到errors.s3db,所以我不确定如何在我的实时环境中设置它.
我在Azure网站上使用Elmah.MVC 2和MVC3,ASP.NET 4.5.
我已将其设置为通过web.config记录到Web服务器上的XML文件.这一切都有效.但是我想暂时停止它,因为我认为它可能会减慢Web服务器的速度,因为它需要花时间编写这些错误文件.我打算登录到SQL Server.但是现在我需要阻止艾玛.
我的Web.config Elmah部分是:
<sectionGroup name="elmah">
<section name="security" requirePermission="false" type="Elmah.SecuritySectionHandler, Elmah" />
<section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />
<section name="errorMail" requirePermission="false" type="Elmah.ErrorMailSectionHandler, Elmah" />
<section name="errorFilter" requirePermission="false" type="Elmah.ErrorFilterSectionHandler, Elmah" />
</sectionGroup>
Run Code Online (Sandbox Code Playgroud)
和
<add key="elmah.mvc.disableHandler" value="true" />
<add key="elmah.mvc.disableHandleErrorFilter" value="false" />
<add key="elmah.mvc.requiresAuthentication" value="true" />
<add key="elmah.mvc.IgnoreDefaultRoute" value="false" />
<add key="elmah.mvc.allowedRoles" value="Admin" />
<add key="elmah.mvc.allowedUsers" value="Admin" />
<add key="elmah.mvc.route" value="elmah" />
Run Code Online (Sandbox Code Playgroud)
和
<httpModules>
<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" /> …Run Code Online (Sandbox Code Playgroud)