次の方法で共有


COM+ CRM のトラブルシューティング

COM+ CRM を開発して使用するときに発生する最も一般的な問題を次に示します。

  • イベント ログ メッセージ。 CRM サーバー アプリケーションで重大な内部エラーが発生した場合、失敗 (CRM サーバー アプリケーション プロセスを終了) し、Windows イベント ログにメッセージを書き込みます。 問題が発生した場合は、イベント ログを参照してください。

  • CRM 補正器からの例外。 CRM インフラストラクチャによって CRM 補正器が作成され、CRM Worker によって書き込まれたトランザクション結果通知とログ レコードが渡されます。 CRM 補正器がエラーを返すか、例外をスローした場合、CRM インフラストラクチャによってキャッチされ、フェールファストが発生します。 イベント ログのメッセージは、CRM 補正器から例外が受信されたことを示します。 これらの例外を強制的に無視することができます。 (「COM+ CRM レジストリ 設定。)CRM 補正器からの例外は、CRM インフラストラクチャ自体ではなく、特定の CRM 補正器 コンポーネントの問題を意味する可能性が最も高いです。

  • 復旧トレース。 復旧トレースは、復旧中の問題を特定するのに非常に役立ちます。 回復トレースを有効にする方法については、「COM+ CRM レジストリの設定」を参照してください。

  • CRM が有効になっていない状態で実行しようとしています。 CRM Worker コンポーネントと CRM 補正器 コンポーネントを COM+ サーバー アプリケーションに配置するだけでは不十分です。 COM+ アプリケーションのプロパティ ページの [詳細設定] タブの [補正リソース マネージャーを有効にする] オプションを使用して、特定の COM+ サーバー アプリケーションに対して、CRM のサポートを明示的に有効にする必要があります。 (詳細については、 「COM+ CRM コンポーネントの構成」を参照してください) CRM が有効になっていないサーバー アプリケーション内で CRM を使用しようとすると、CRM Worker にエラー コードが返されます。

  • クライアント プロセスで CRM を実行しようとしています。 CRM はクライアント プロセスでは実行されません。COM+ サーバー アプリケーション プロセスで実行する必要があります。 CRM コンポーネントは、複数の COM+ サーバー アプリケーションで使用するためにライブラリ パッケージに配置できますが、クライアント プロセス内では使用できません。 クライアント プロセス内で CRM インターフェイスを使用しようとすると、エラー コードが CRM Worker に返されます。

  • 回復中 CRM サーバー アプリケーションの起動時に回復が開始されます。 ただし、復旧は、CRM サーバー アプリケーションの通常の処理中にバックグラウンドで発生します。 CRM Worker は、復旧が完了する前に作成できます。 復旧が正常に完了するまで、CRM サーバー アプリケーション プロセスで CRM を使用することはできません。 この場合、CRM Worker は CRM 補正機能の登録を試みると、"復旧中" エラー コードを受け取ります。 CRM Worker は、復旧が完了するまでポーリングするか、それ以外の場合は遅延する必要があります。 復旧時間は特定の種類の CRM に固有であり、CRM の設計時に考慮する必要があります。 長い期間の回復は望ましくありません。

  • CRM ログ ファイルのセキュリティ。 CRM ログ ファイルへのアクセスが拒否された場合、CRM ログ ファイルでのセキュリティの設定方法については、「COM+ CRM のセキュリティに関する考慮事項」を参照してください。

  • 不明なトランザクション。 まれに、DTC トランザクションが疑わしい状態になる場合があります。つまり、DTC はトランザクションの結果を判断できません。 このような場合、復旧中に CRM はそのトランザクションのログ レコードを CRM ログ ファイルに保持します。 未確定トランザクションが DTC によって解決されると、別の CRM 回復を実行するとトランザクションが完了します。

  • CRM 補正器の作成とリリース。 CRM 補正機能が CRM Worker によって初めて登録されるときは、CRM インフラストラクチャによって作成され、サポートされている CRM 補正器 インターフェイスのどれを決定するためにクエリが実行されます。 その後すぐに解放されます。 CRM 補正器は、中間メソッド呼び出しを行わずに作成および解放できる機能をサポートする必要があります。 誤った COM 登録が原因で CRM 補正機能を正しく作成できない場合、または正しい CRM 補正機能インターフェイスの少なくとも 1 つをサポートしていない場合は、エラー コードが CRM Worker に返されます。

COM+ 補正 Resource Manager の概念