「従来の」comとcom+(コンポーネントサービスで)の違い
-
23-10-2019 - |
質問
「伝統的な」方法では、レジストリでDLLを登録することを意味します。
MMC->コンポーネントサービス - > com+アプリケーションに移動して追加することにより、セットアップする別の方法があるようです。 .tlb
ファイル。
両方の方法をサポートするCOMライブラリがあります。インストールすると、comコンポーネントとしてレジストリに登録し、正常に動作します。ただし、追加したとき .tlb
ファイルコンポーネントサービス方法を使用して、動作は異なっているようで、エラーが発生し始めます。
マーシャリングとプロセス間のオブジェクト転送と関係があると思いますか? (申し訳ありませんが、私は本当にcomエリアの真正です)
誰かが私の理解をクリアするための良いリソースを私に向けることができますか?
解決
com+(コンポーネントサービス)は、多くのインフラストラクチャを箱から出して提供しています。たとえば、COM+は、トランザクション、セキュリティ、オブジェクトプーリング、その他のサービスを提供します。
com+の下でcomコンポーネントを登録すると、「プロセスから外出」します。このモードでは、COMサーバーとそのクライアントの間にプロキシがあることが保証されています。
com+についてもっと学ぶために私が考えることができる最高の場所は、公式のMSサイトです。 http://msdn.microsoft.com/en-us/library/ms685978(vs.85).aspx
他のヒント
前の投稿に同意します。
追加することの1つは、実際にタイプライブラリ(.tlbファイル)を登録することは、com+だけでなく、comの場合も正常です。タイプライブラリは、IDLコンパイラによって自動的に生成されます。インターフェイスとオブジェクトの説明が含まれています。
そのため、COMコンポーネントをプロジェクトに「インポート」し、インターフェイスとオブジェクトの定義が表示されます。