asp.net - 尝试实现 ELMAH - 不断收到 IIS HTTP 500.22 错误

标签 asp.net iis elmah

我的 web.config 中有以下内容:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    <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.SqlErrorLog, Elmah"
    connectionStringName="PhumafConnectionString" />
    <errorMail
      from="*******"
      to="*********"
      subject="Application Exception"
      async="false"
      smtpPort="0"
      useSsl="true" />
  </elmah>
  <system.net>
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network host="smtp.gmail.com" port="587" userName="*********" password="********" />
      </smtp>
    </mailSettings>
  </system.net>
  <connectionStrings>
    <add name="PhumafEntities" connectionString="metadata=res://*/PhumafDB.csdl|res://*/PhumafDB.ssdl|res://*/PhumafDB.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DRAGAN-THINK\SQLEXPRESS;initial catalog=Phumaf;integrated security=True;multipleactiveresultsets=True;application name=EntityFramework&quot;"
      providerName="System.Data.EntityClient" />
    <add name="PhumafConnectionString" connectionString="Data Source=DRAGAN-THINK\SQLEXPRESS;Initial Catalog=Phumaf;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFramework"
      providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.web>
    <customErrors mode="On" defaultRedirect="~/genericError.aspx">
      <error statusCode="404" redirect="~/404.aspx" />
    </customErrors>
    <httpHandlers>
      <add verb="POST,GET,HEAD" path="elmah.axd"
  type="Elmah.ErrorLogPageFactory, Elmah" />
    </httpHandlers>
    <httpModules>
      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />
      <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah" />
    </httpModules>
    <compilation debug="true" targetFramework="4.5">
      <assemblies>
        <add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
      </assemblies>
    </compilation>
    <httpRuntime targetFramework="4.5" />
  </system.web>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>
</configuration>

我还将 Elmah.dll 添加到 bin 文件夹中。每当我运行该应用程序时,我都会收到包含以下消息的 IIS 错误屏幕:

HTTP Error 500.22 - Internal Server Error
An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode.

Most likely causes:
This application defines configuration in the system.web/httpModules section.
<小时/>
Detailed Error Information:
Module     ConfigurationValidationModule
Notification       BeginRequest
Handler    PageHandlerFactory-Integrated-4.0
Error Code     0x80070032
Requested URL      http://localhost:13094/index.aspx
Physical Path      c:\users\dragan\documents\visual studio 2012\Projects\WebApplication2\WebApplication2\index.aspx
Logon Method       Not yet determined
Logon User     Not yet determined
Request Tracing Directory      C:\Users\Dragan\Documents\IISExpress\TraceLogFiles\WEBAPPLICATION2

已验证我的 XML 有效且 100% 有效:/

我真的不知道出了什么问题。以前一切都很好,直到我尝试实现 Elmah。我开始失去理智了,如果你看到我做错了什么,请帮忙。

最佳答案

查看以下两个链接 http://code.google.com/p/elmah/issues/detail?id=231

http://mvolo.com/breaking-changes-for-aspnet-20-applications-running-in-integrated-mode-on-iis-70

解决这个错误的关键部分如下

1) ASP.NET 应用程序在 或 中指定配置时需要迁移。 您将收到 500 – 内部服务器错误。这可能包括 HTTP 错误 500.22 和 HTTP 错误 500.23:检测到不适用于集成托管管道模式的 ASP.NET 设置。 发生这种情况是因为 ASP.NET 模块和处理程序应在集成模式下的 IIS 和配置部分中指定。 解决方法: 1) 您必须迁移应用程序配置才能在集成模式下正常工作。您可以使用 AppCmd 迁移应用程序配置:

%windir%system32inetsrvAppcmd migrate config “”

关于asp.net - 尝试实现 ELMAH - 不断收到 IIS HTTP 500.22 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13847473/

相关文章:

asp.net - 使用 jQuery 对 FILE 类型的 INPUT 进行客户端验证,无需回发

asp.net - 微软 Asp.net Owin Helios 项目还活着吗?

asp.net - javascript函数在asp.net的page_load事件中调用

c# - IIS 中创建的线程能否通知其超时?

asp.net - 允许冒号(IIS/Azure 中的 :) in URL for ASP. NET Core

asp.net - 对所有 ASP.NET MVC 错误使用全局(哑)错误页面?

c# - 重定向到其他页面后如何显示响应消息?

iis - 在 IIS 中,我可以为多个 Web API 应用程序使用相同的基本路径吗?

asp.net-mvc-4 - 使用 ELMAH 和 ajax 在 ASP.Net MVC 4 中的 Controller 中的异常处理

.net - 在 ASP.NET 网站中保护 Elmah 的安全