6

私のasp.netアプリケーションでは、Interop dllを使用して1つのcomコンポーネントメソッドを呼び出しています。これは通常の状態では正常に動作していますが、本番環境では例外をスローすることがあります

System.Runtime.InteropServices.COMException (0x80010105): サーバーが例外をスローしました。(HRESULT からの例外: 0x80010105 (RPC_E_SERVERFAULT))

これは、多数のユーザーが同時に同じページにアクセスしている場合に発生していると思われます。

この問題をデバッグするための解決策または手順を知っている人はいますか?

別の質問があります。インターネットで検索しているときに、この aspcompact 属性と、com コンポーネントに関連する MTA 対 STA スレッド モデルに出くわしました。この aspcompact 属性は、相互運用 dll (ランタイム呼び出し可能ラッパー) の場合に適用されますか? この属性を追加すると問題が解決しますか?

4

5 に答える 5

6

RPC_E_SERVERFAULTは、アウトプロセスのCOMサーバーが構造化された(Win32)例外をスローしたことを意味します。これは、アクセス違反、ゼロ除算など、あらゆる種類のものである可能性があります。つまり、COMサーバーにバグがあります。実装であり、これを解決するために呼び出し元のアプリケーションでできることは何もありません(バグが何であるかを見つけ、バグのあるコードを実行しないCOMコンポーネントを呼び出す方法を設計できない限り)。

COMサーバーを担当している同僚を見つけ、例外が発生したときにデバッガーを使用してクラッシュダンプをキャプチャし、ダンプに対して事後デバッグを実行して問題を診断し、修正する必要があります。

于 2012-09-21T22:01:37.930 に答える
0

MS Office 2010 Excel COM オブジェクトを使用する Powershell スクリプトを実行していますが、このエラーが発生し始めました。原因は、最新の MS Office パッチでした。申し訳ありませんが、エラーの原因を正確に特定することはできませんが (一度にたくさんアンインストールしました)、そのうちの 1 つをアンインストールすると問題が解決しました。更新プログラムは 2016 年 7 月 18 日にインストールされました。

于 2016-07-21T13:09:52.560 に答える
0

また、COM オブジェクトがクラッシュした可能性もあります。COM オブジェクトによって表されるアプリケーションを単独で再実行して、クラッシュまたはエラーが発生するかどうかを確認してください。

于 2014-02-24T22:53:23.577 に答える
0

サイトを監視して、発生したときに例外をキャプチャします。デバッグ診断ツール v1.2

を使用する

生成されたダンプを使用すると、障害点を特定しやすくなります。

于 2012-09-14T15:13:46.230 に答える