Elmah, конвертировать в .Net4 vs2010, запустить на сервере 2008, не работает - PullRequest
3 голосов
/ 12 августа 2011

Так что я всегда использовал elmeh.

У меня есть приложение, которое я недавно преобразовал в MVC3 .net4 и vs2010, и оно разработано на сервере Server 2008 (в отличие от других моих приложений, разработанных на компьютере с XP).

Я настроил elmah нормально, и он не работает ...

У меня уже есть ссылка на ELMAH.dll, она находится в моей папке CommonDLLs.

Я добавляю раздел группы

* * 1010

Я добавляю разделы

<elmah>
    <security allowRemoteAccess="1" />
    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/ELMAH" />
    <!--<errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />-->
    <errorMail from="change.me@CCCC.org" to="brown.ericw@CCCC.org" 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, ни журналов XML в папке ELMAH, ни 404, когда я иду на elmah.axd

Что мне не хватает? Любая помощь оценена.

Спасибо

кальцит

1 Ответ

2 голосов
/ 13 августа 2011

В IIS7 вам необходимо добавить httpHandlers и httpModulea в узел system.webserver файла web.config.

Этот поток должен помочь: http://groups.google.com/group/elmah/browse_thread/thread/4bbef2f26e0c5fd1

...