3

Windows Server 2003/ 2008R2オペレーティング システム上で実行される、いくつかのサービス コンポーネント (C# で記述) をそれぞれ含むいくつかのCOM+ Applicationで構成されるものもあります。DLL

特定の状況 (可能な限り回避しようとする) では、バグを修正するためにパッチを適用する必要があります。これを達成するために、現在行っていることは次のとおりです(もちろん、宛先サーバーに必要なものがすべてあると仮定しています):

  1. COM+ アプリを無効にします。
  2. COM+ アプリをシャットダウンします。
  3. 関連する DLLの登録を解除して置き換えます。
  4. DLL を置き換えます。
  5. 関連する DLL を再度登録します。
  6. COM+ アプリを有効にします

上記の手順に問題はありませんCOM+ Application Catalog。コマンドラインを介してプログラムで管理するための小さなアプリケーションを構築したため、この方法でいくつかの DLL を更新し、サービス対象のコンポーネントを約 1 秒で稼働させることができます。2 秒... この (オフラインの) 時間は余裕がありますが、パッチ適用ツールを作成してプロセス全体を改善し、自動化したいと考えています。

私が理解しようとしているのは次のとおりです。

  • COM+ Applicationポイント 2 に安全に進むことができるように、サービス対象のすべてのコンポーネントが作業を終了した (すべての要求/呼び出しが終了した) ことをどのように知ることができますか?
  • 詳細についてはServiced Components、特定のステータスを取得するために使用できるライブラリはありますCOM+ Applicationか?

: dcomcnfgの操作に慣れている場合、アクセスするために必要なデータは、 のCOM+ Application下のフォルダーConsole Root\Computers\My Computer\<MyComPlusApp>を展開し、フォルダーを展開しComponentsてメニューに移動しメニュー項目Viewを選択Statusもちろん、Windowsは画面に表示されるすべてのステータスを知ることができるCOM+ Serviced Componentので、まさに私がアクセスする必要があるデータです。

4

1 に答える 1

3

ポイント 2 に安全に進むことができるように、COM+ アプリケーションのすべてのサービス対象コンポーネントが作業を終了した (すべての要求/呼び出しが終了した) ことをどのように確認できますか?

COM+ インストルメンテーション インターフェイスまたはCOM+ トラッキングを使用して、コンポーネントに関する情報を受け取ることができます。

詳細については、特定の COM+ アプリケーションのサービス コンポーネントのステータスを取得するために使用できるライブラリはありますか?

IGetAppTrackerData インターフェイスを使用すると、必要な情報を取得できます。

いくつかの注意点: アプリケーションをシャットダウンするときは注意が必要であることを忘れないでください。コンポーネントは呼び出し中ではなく、シャットダウンする前に別の呼び出しがサービスされているためです。また、私の経験では、COM+ API を使用すると煩雑になり、ドキュメントが不足している場合があります (特に例に関して)。

2 秒節約するのは少し大変なようです。:)

于 2012-08-11T01:57:06.283 に答える