1. ホーム
  2. asp.net

[解決済み】"Exception has been thrown by the target of an invocation" エラー (mscorlib)

2022-01-18 15:44:41

質問内容

ASP.Net 2.0で開発したWebサイトで、次のようなエラーが発生することがあります。

"Exception has been thrown by the target of an invocation" 

を本番環境で実行しました。開発環境ではこのエラーは出ませんでした。

ソースは 'mscorlib' で、スタックトレースには以下の場所でエラーが発生したと書かれています。

System.RuntimeMethodHandle._InvokeMethodFast.

前回の本番へのアップロードから変更したのは、Membershipコントロール(Login、LoginView)を使い始めたことと、ストアドプロシージャやテーブルなどを少し追加したことだけです。メンバーシップは、私が書いたカスタムプロバイダに依存しています。

なぜこのようなことが起こるのか、どなたか心当たりのある方はいらっしゃいますか?

解決方法は?

内部例外が発生していないか確認することをお勧めします。もしない場合は、この例外の直前に発生した例外をログで確認してください。

これはウェブ特有の例外ではなく、デスクトップアプリの開発でも遭遇したことがあります。 要するに、この例外を受け取ったスレッドが(Invoke()などで)非同期コードを実行しており、非同期で実行されているコードが例外で爆発しているということです。 このターゲット起動例外は、その失敗の余波です。

まだの場合は、このエラーが発生したときに呼び出される非同期コールバックの周りに、ある種の例外ロギングラッパーを配置してください。 たとえば、イベントハンドラなどです。 そうすることで、問題を突き止めることができるはずです。

がんばってください。