所以我一直在使用elmeh。

我有一个应用程序,我最近已转换为 MVC3 .net4 和 vs2010,它是在服务器 2008 机器上开发的(与我在 XP 机器上开发的其他应用程序相反)。

我正常设置了elmah,但它不起作用......

我已经有了对 ELMAH.dll 的引用,它在我的 CommonDLLs 文件夹中。

我添加了部分组

<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>

我添加部分
<elmah>
    <security allowRemoteAccess="1" />
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/ELMAH" />
    <!--<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />-->
    <errorMail from="[email protected]" to="[email protected]" subject="Application: StudentPortal3G,  Environment:Dev, ServerBoxName: Dev" async="true" />
</elmah>

我添加了模块和处理程序
<httpHandlers>
            <add verb="*" path="*.pdfx" type="JCDCHelper.Web.UI.RunAsASPXHandler, JCDCHelper.Web" />
            <add verb="*" path="*.mvc" validate="false" type="System.Web.Mvc.MvcHttpHandler, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
            <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>

我为电子邮件支持添加了 SMTP 部分
 <system.net>
    <!--Required for Elmah Mail Processing-->
    <mailSettings>
      <smtp deliveryMethod="Network">
        <network host="10.10.10.10" port="25" defaultCredentials="true" />
      </smtp>
    </mailSettings>
  </system.net>

我转到“~\ELMAH”文件夹,选择我的机器,并让网络服务帐户完全控制该文件夹(对每个人都这样做,以防万一)

我为 elmah.axd 设置了路由以作为网页浏览。
    routes.IgnoreRoute("elmah.axd");

我添加了一个位置标签,所以我可以在没有登录的情况下点击 elmah.axd
<location path="elmah.axd">
    <system.web>
      <authorization>
        <!--<deny users="?" /> in prod and qa change to this, otherwise anyoen can look at the logs - EWB-->
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

但是我什么也没收到,没有 elmah 电子邮件,ELMAH 文件夹中没有 XML 日志,当我转到 elmah.axd 时出现 404

我错过了什么?任何帮助是appreaicted。

谢谢,

校准-

最佳答案

在 IIS7 下,需要在 web.config 的 system.webserver 节点下添加 httpHandlers 和 httpModulea。

这个线程应该有帮助:http://groups.google.com/group/elmah/browse_thread/thread/4bbef2f26e0c5fd1

关于asp.net-mvc - Elmah,转换为 .Net4 vs2010,在 server 2008 上运行,不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7045645/

10-13 22:17