問題タブ [elmah]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
24457 参照

http - HTTP Cookie サーバー変数に関して、utmscr または utmcct 値は何を意味しますか?

HTTP cookie サーバー変数に関して、 utmscrおよび/またはutmcct値は何を意味しますか? それらは頭字語ですか、それとも何かの略ですか?

「System.Web.HttpException: データを検証できません」というタイトルの Elmah エラーが発生しています。各 Elmah エラー メッセージでは、Http Cookie サーバー変数の値に、同じ Web サイトに設定されたutmscrというプロパティと、その Web サイトのページに設定されたutmcctというプロパティが含まれています。Elmah サーバー変数ダンプの Http Cookie 値のセクションを次に示します。

utmccn=(紹介)| utmcsr=someWebSite.com|utmcct=/someWebPage.htm |utmcmd=紹介; CP=ヌル*;

someWebpage.htm ページは someWebsite.com に存在しますが、現在、このページへの参照はありません。エラーはビュー ステートに関連していると考えられます。何かご意見は?ありがとう!

0 投票する
4 に答える
1899 参照

sharepoint - SharePoint環境でELMAHを使用することは可能ですか?

ELMAHをSharePoint環境に統合した人はいますか?

すべてASP.netなので可能だと思いますが、誰かがそれをやったのか、それを実現する方法についてのウォークスルーがあるのだろうかと思いました。

0 投票する
7 に答える
26838 参照

.net - コンソール アプリケーションでの ELMAH の使用

ELMAHを使い始めたばかりでファンです。私のチームは多数の Web アプリケーションをサポートしていますが、ELMAH によって各アプリケーションの例外を同じ MS SQL データベース テーブルに保存できることに特に興奮しています。

また、いくつかのコンソール、DLL、およびデスクトップ アプリケーションもサポートしています。ELMAH DLL を使用して、これらのアプリの例外を同じ場所に記録することはできますか?

0 投票する
2 に答える
1099 参照

asp.net - VS2008 Web 配置プロジェクト セクションの Elmah への置き換え

Web デプロイメント プロジェクトを使用しており、いくつかのセクションを emlah/errorMail セクションに置き換えたいと考えています。デバッグ ビルド モードでメールを送信したくありません。

カスタム セクションを作成し、errorMail.config に配置しました。置換の下の Web デプロイ プロジェクトのプロパティには、elmah/errorMail=errorMail.config があります。

私が得ているエラーは、elmah/errorMail の構成セクション ハンドラーの作成中にエラーが発生しました: ファイルまたはアセンブリ 'Elmah' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

Elmah が GAC に含まれていないか、私のプロジェクトの 1 つでないため、これが起こっていると推測しています。ただし、Elmah.dll ファイルは output\bin フォルダーに正常にコピーされます。

セクションの置換をサードパーティの dll で機能させる方法はありますか?

[編集]

問題の dll を Web 配置プロジェクトのプロジェクト フォルダーにドロップすると、問題なく動作することがわかりました。これは最適とは言えません。

私の質問は、GAC に dll を配置したり、dll を Web 展開プロジェクト フォルダーにコピーしたりすることなく、これを機能させるにはどうすればよいですか?

0 投票する
5 に答える
6955 参照

asp.net - Elmah - ASP.NET -> 複数の接続文字列 -> コードで SQL エラー ログ接続文字列を設定する

ELMAHを既存の ASP.NET アプリケーションに統合して、エラーの調査をさらにサポートすることを検討しており、接続文字列の助けを借りることができます。アプリケーションが展開されているすべての環境または環境に対して単一の web.config ファイルを使用し、実行時に、アプリは通常、URL に基づいて、どの環境にあるかを決定します。

これは、標準ブロックが私たちに望んでいることです...

Elmah では、接続文字列の名前を指定するだけでよいように見えますが、これを実行時に動的に指定するにはどうすればよいでしょうか? たとえば、私がテストしている場合、これが必要です:

しかし、私がPRODにいる場合:

編集
Web アプリケーションの展開方法は、私がやろうとしていることの範囲外です。ELMAH Sql エラー ログのデータソースを変更できるコード ソリューションが必要です...

今日の Web アプリのデプロイ方法を変更することはできません。つまり、TEST にあるものは何でも CERT に移動します。CERT にあるものは PROD に移動します。Web アプリは、それがどの環境にあるかを判断し、そのように実行できる必要があります...

0 投票する
2 に答える
1641 参照

.net - ヘルプ : SQLIte を使用して、同じ依存アセンブリの異なるバージョン間で競合が見つかりました

私のプロジェクトの 1 つで、SQLite を参照する Elmah を使用しています。Elmah は、SQLite for .Net バージョン 1.0.44.0 に対して構築されています。

まあ、私はいくつかの64ビットのものを試していました(私の開発ボックスは32ビットです)ので、.Net用のSQLiteの64ビットバージョンが必要でした。最新のビルド (当時は 1.0.51.0) を入手し、インストーラーを使用してインストールしました。私の 32 ビット プロジェクトでは、System.Data.SQLite への参照を更新して、新しいバージョンを指すようにしました。自分の間違いに気づいたら、それをアンインストールして適切な元のバージョンを取得し、参照を 1.0.44.0 に戻しました。

ビルドすると、同じ依存アセンブリの異なるバージョンに関する警告が表示されます。それをクリックすると、app.config を編集するかどうか尋ねられ、これが挿入されます。

うーん..1.0.51.0がインストールされていないか、システムのどこにも存在していません! 紛争はどこですか?なぜビジュアルスタジオはそれがどこかに存在すると考えるのですか? GAC をチェックインしましたが、System.Data.SQLite はどこにもありません。

この迷惑な警告を取り除きたいです。SQLite も参照する同じソリューションに別のプロジェクトがありますが、新しいバージョンへの参照を更新したことはありません (その後、参照を元に戻したことはありません)。常に 1.0.44.0 を参照していました。そのプロジェクトはまったく文句を言わない...

0 投票する
6 に答える
19604 参照

asp.net - ELMAH を使用した WCF サービスの例外ログ

ASP.NET 3.5 Web アプリケーションで未処理の例外を処理するために、優れたELMAHを使用しています。これは、REST 機能を使用して消費される WCF サービスを除くすべてのサイトで非常にうまく機能します。アプリケーション コードで処理されない操作メソッド内で例外が発生した場合、WCF はサービス コントラクトと構成設定に応じてさまざまな方法で処理します。これは、 ELMAHが使用する ASP.NET HttpApplication.Error イベントを例外が発生させないことを意味します。これに対処するために私が知っている2つの解決策は次のとおりです。

  • すべてのメソッド呼び出しを try { } catch(Exception ex) { Elmah.ErrorSignal.FromCurrentContext().Raise(ex); でラップします。投げる; catch ブロック内で Elmah を明示的に呼び出します。
  • Will Hughes のブログ投稿で説明されているように、IErrorHandlerを使用して、 WCF と ELMAHをうまく組み合わせて、ELMAH の呼び出しを別の ErrorHandler に分解します。

最初のオプションは非常に単純ですが、正確にはDRYではありません。2 番目のオプションでは、属性と ErrorHandler を実装した後、カスタム属性で各サービスを装飾するだけで済みます。私はウィルの仕事に基づいてこれを行いましたが、コードを投稿する前にこれが正しいアプローチであることを確認したいと思います.

私が逃したより良い方法はありますか?

IErrorHandlerの MSDN ドキュメントによると、HandleErrorメソッドはログを記録する場所ですが、ELMAHは HttpContext.Current にアクセスします。HttpContext.Currentが使用可能であっても、このメソッド内では null です。ProviderFault メソッド内で Elmah を呼び出すことは、ApplicationInstance が設定されているため回避策ですが、これは API ドキュメントで説明されている意図と一致しません。ここで何か不足していますか?ドキュメントには、操作スレッドで呼び出される HandleError メソッドに依存してはならないことが記載されています。これが、このスコープで ApplicationInstance が null である理由である可能性があります。

0 投票する
4 に答える
4991 参照

c# - 例外中の生の HTTP POST データのキャプチャ

IIS/ASP.NET でホストされている WCF サービスがあり、シリアル化されたオブジェクトの HTTP ポスト (フォーム ポストではありません) を受け入れます。

クライアントが不正な形式のリクエストを送信した場合 (オブジェクトを正しくシリアル化していないなど)、送信されたメッセージをログに記録したいと思います。

未処理の例外をキャプチャするために既に ELMAH を使用しているため、単純に投稿データを添付するのが最も簡単なオプションです。

例外中に現在の HttpContext を取得できますが、これには HTTP ヘッダー情報しか含まれていません。

私の質問はこれです: 元の HTTP POST リクエスト本文をキャプチャする方法はありますか? または、それが失敗した場合 - エラーの原因となった入力をキャプチャするより良い方法 (リバース プロキシなし) はありますか?

編集:明確にするために、常にパケットレベルのキャプチャを実行することはあまり適していません。私は、実稼働サーバーに展開でき、クライアントが制御または監視できないソリューションを求めています。

編集 #2: Request.InputStream にアクセスするための提案が行われました - WCF がストリームから要求を読み取った後に読み取ろうとしている場合、これは機能しません。

これをどのように使用したかを確認するためのコードのサンプルは、こちらです。

log.ToString() の出力は次のとおりです。

0 投票する
2 に答える
900 参照

c# - クライアントでの例外処理-サーバーアーキテクチャ

Windowsクライアント(約150ユーザー)、Webサービス、およびいくつかのWindowsサービスで構成されるプロジェクトがあります。すべて一緒にイントラネットで作業し、C#.NET3.5を使用してビルドします。次に、中央データベースに例外を記録し、Webアプリケーションを介してそれらを管理します(トップ10、チケットシステムなどを監視します)。

ELMAHにはすでに管理用のWebアプリケーションがあるので、ELMAHの使用と拡張を考えました。たぶん、クライアントが例外をログに記録するためのWebサービスを作成します。

ELMAHは明らかにasp.netWebサイトのみを対象としているため、これは良い考えです。

例外管理アプリケーションブロックについては知っていますが、ELMAHのような管理アプリケーションがないことを知っている限り、エンタープライズライブラリに最後にアクセスしたのは面白くありませんでした。

あなたの意見は何ですか、他のアイデアはありますか?

0 投票する
1 に答える
872 参照

javascript - Elmah 1.1 RC で jscript アサーションを使用して例外タイプをフィルタリングするにはどうすればよいですか?

404 に対する最初のバインドが機能するので、ErrorFilterModule を適切にセットアップしましたが、jscript セクションはまったく機能していないようです。報告メールで HttpRequestValidationException が送信され続けています。