11

私の ASP.NET MVC アプリケーションは、IIS 6.0 webroot フォルダー内の Stuff というフォルダー内にあります。したがって、 http://localhost/Stuff/Postsとしてページにアクセスします。Visual Studio の組み込み Web サーバーを使用しているときに、EMLAH が機能していました。http://localhost/Stuff/elmah.axdにアクセスすると、リソースが見つからないというエラーが発生します。誰でもここで私の間違いを指摘できますか! これが設定ファイルのエントリです。

<add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah"/> //Handler
  <add name="ErrorMail" type="Elmah.ErrorMailModule, Elmah"/>
  <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah"/>
  <add name="ErrorFilter" type="Elmah.ErrorFilterModule, Elmah"/> //Module
4

5 に答える 5

15

web.configIIS7 での作業で、入力済み ( system.webAND system.webServer)の両方のセクションが必要であることがわかりました。Elmah が asp.net サイトで動作していないことを参照してください。

おそらくこれが関係しています。

于 2009-07-24T09:14:33.723 に答える
5

global.asax に ignore *.axd ルートを追加しましたか?

于 2009-07-14T08:52:01.280 に答える
2

Elmahの場合、2つのことを区別する必要があります。最初に、エラーログ、電子メールなどのすべての作業を実行するhttpモジュール。次に、エラーログページと他のページ(rss ...など)を表示するhttpハンドラー

設定がおかしいので、404リソースが見つからないという同じ問題が発生していました。私の開発マシン(Windows 7、iis 7)では、アプリケーションプールが統合パイプラインモードで動作していたため、elmahは魅力のように動作していました。しかし、本番マシンでは、アプリケーションはマネージドパイプラインを使用しており、elmahを機能させるために最善を尽くしましたが、すべて役に立たなかった...

次に、通常のaspxページを使用してUI(エラーログページ、rss、エラー詳細など)を表示することを思いつきました。ソースコードをダウンロードし、いくつかの変更を加えました(申し訳ありませんが、Atif、最速のソリューションが必要だったため、これを強制されました)。次に、アプリケーションで、Elmah定義のページを継承する通常のaspxページを作成するフォルダーを作成しました。ページには1行しか含まれていません(例:詳細ページの場合:<%@ Page Language = "C#" Inherits = "Elmah.ErrorDetailPage"%>)

これで、IIS 6/7に関係なくElmahを実行でき、魅力のように機能しています。httpハンドラーを正しく構成し、その作業のトラブルシューティングを行うという大きな頭痛の種から私を救いました。さらに、セキュリティの構成ははるかに簡単です!

コミュニティがこのソリューションに関心があるかどうかはわかりません(関心がある場合は、完全な変更を投稿する準備ができています)。

これにより、別の方法で問題を解決する方法がわかることを願っています(また、使用方法の完全な手順が記載された変更されたdllが必要な場合は、教えてください!)

于 2010-02-21T05:55:43.097 に答える
1

コードまたはファイルを変更したくない場合は、IIS のアプリケーション プール設定を に設定しManaged Pipelin Modeます。その後、以前と同じように機能します。Classicweb.configaxd.s

于 2010-08-17T13:48:30.033 に答える
0

残りの web.config を投稿できますか?

または、十分に慣れている場合は、web.config で httpHandlers および httpModules (ハンドラーとモジュールではない) セクションが適切に入力されていることを確認できますか?

于 2009-07-14T06:17:44.680 に答える