1

我使用 NuPack 工具将 Elmah 添加到我的开发人员机器上的站点。这就像一个魅力,但是当我向 elmah.axd 页面发送请求时,我得到的只是 500 - 内部服务器错误。

我的代码设置: 建立在 EPiServer 4.62B 之上的
Visual Studio 2010站点, 在 .NET Framework 2 上运行(因为 EPiServer)

我的 IIS 设置:
IIS 7.5
Classic .NET AppPool(因为 EPiServer)

我的电脑:
运行 Windows 7 32bit(因为 EPiServer)

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>

在 configSections 中。

<elmah>
  <security allowRemoteAccess="yes" />
  <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />
</elmah>

在这个阶段,我真的不需要allowRemoteAccess,因为我正在从我的机器上运行所有东西,但目前正在尝试任何东西。而且我知道 elmah.dll 正在运行,因为正在创建日志文件。

<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />

system.web 内部 | http处理程序。

<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />

system.web 内部 | http模块。

<add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
<add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
<add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah" />

system.webServer 内部 | 模块

<add name="Elmah" verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />

system.webServer 内部 | 处理程序

我基本上已经将我在网上可以找到的所有建议都添加到了 web.config 中,但没有任何好处。这使我相信其他事情是错误的,有什么想法吗?

4

3 回答 3

2

您在那里没有到 Elmah 数据库的连接字符串。

您是否也将 Elmah 和 SqlLite dll 添加到您的 bin 文件夹中?

我在这里有一个最小的设置指南,可能会有所帮助: http:
//www.codeulike.com/2010/05/quick-elmah-setup.html

于 2010-10-15T09:21:09.443 回答
0

我也有这个问题。我发现唯一可行的方法是将我的应用程序池切换到集成模式。不过,我的应用程序还没有经过全面测试,所以我没有在生产中改变它。

于 2011-02-28T12:29:29.267 回答
0

elmah_error 数据库表可能需要修复。

在我的情况下发生了几次,通过修复,它被修复了。

我遇到了完全相同的问题 elmah-> 500 - Internal Server Error。

只需运行 mysql 命令:

repair table elmah.elmah_error;

并重试访问 elmah。

于 2018-01-17T09:41:57.033 回答