3

私はelmehを永遠に使用しています。Elmah、.Net4 vs2010に変換、サーバー2008で動作しません。

私は最近、MVC3 .net4とvs2010に変換したアプリケーションを持っています。これはサーバーボックス2008で開発されたものです(XPボックスで開発された他のアプリケーションとは対照的です)。

私は通常、ELMAHを設定し、それが動作しません...

私はそれが私のCommonDLLsフォルダ内だが、すでにELMAH.dllへの参照を持っています。

私は私が私が電子メールサポート

ためのSMTPセクションを追加するモジュールとハンドラ

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

を追加

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

セクションを追加

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

sectiongroupsを追加

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

I後藤「〜\ ELMAH」フォルダに、私のマシンを選択して、フォルダのネットワークサービスアカウントのフルコントロールを与える(念の、みんなのために同じことをやった)

私はのためのルーティングを設定しますウェブページとしてthroguhに行くためにelmah.axd。

routes.IgnoreRoute("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.axd打つことができますが、私は何も、ないELMAHメール、ELMAHフォルダ内の無XMLログを取得していない、と404 ggo elmah.axd

私は何が欠けていますか?助けが逃げられる。

おかげで、IIS7の下で

なりました

答えて

2

あなたはweb.configファイルのsystem.webserverノードの下のhttpHandlersとhttpModuleaを追加する必要があります。

このスレッドは助けるべきである:その記事毎のhttp://groups.google.com/group/elmah/browse_thread/thread/4bbef2f26e0c5fd1

+0

を私はセクションを追加しますが、私はVS2010でデバッグしようとすると、今私は、「Webサーバを起動することができませんでし取得私はそれをコメントアウトした場合は、。それは正常に動作します。タグの直後に追加しました。何か考えていますか?通常のハンドラとモジュールからそれらを削除してみました。 –

+0

私はalredyがconverserionによって追加されたWebサーバーセクションを持っていました。ツールは、それらの2つを持つことはできません!ありがとう! –

+0

同じ問題 - Windows Server 2008のr2は、Windows 8 IIS7ではない "モジュール"に非常に特有です。 system.web、Win 8で正常に動作しますが、Windows Server 2008 R2ではエラー500が発生します。そういうことだ。 ELMAHモジュールが他のモジュールと同じ「モジュール」セクションにあることを確認してください。そこにいて、これをやってください。 2番目の「modules」セクションがプロダクションweb.configトランスフォームによって追加された場合、これは特に厄介です... – philw

関連する問題