問題タブ [com+]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - プログラムでCOM+アプリケーションの[IIS組み込みプロパティを許可する]をオンにするにはどうすればよいですか?
コンポーネントサービス->コンピューター->マイコンピューター->COM+アプリケーション
COM+アプリケーションオブジェクトを開きます。
コンポーネントを開きます。
クラスを右クリックして、[プロパティ]を選択します。
[詳細設定]の下に、[IIS固有のプロパティを許可する]のチェックボックスがあります。
このチェックボックスをプログラムでチェックするにはどうすればよいですか?
プログラムでCOM+アプリケーションを作成および削除できますが、ComApplicationクラスには、作成されたアプリケーションの設定を変更する方法がないようです。
vb.net - COM+アプリケーションプロキシの登録中にエラーが発生しました
MSIおよびCABファイルを生成するCOM+アプリケーションプロキシをエクスポートし、それらをいくつかの異なるWinXPおよびVistaマシンに正常にインストールしました。ただし、うまく機能していないWinXPボックスがあります。MSIを実行しようとすると、次のエラーメッセージが表示されます。
COM+アプリケーションの登録中にエラーが発生しました。
それはそこで止まり、COM+でアプリケーションを作成することすらできません。どこを見ればいいのか?いくつかの依存関係はMIA、無効、または誤って構成されていると推測していますが、魔法のソースに何が欠けているのか理解できないようです。
また、クライアントアプリプロキシを手動で登録した経験のある人がいれば、それもまたうねりになります。
平和|露
.net - MSI(WiX)を使用して.NETDLLをCOM+アプリケーションにインストールするにはどうすればよいですか
更新:これは確かにWiXの制限のようです-64ビットcom +コンポーネントを追加できません(3.0.3907.0)
WiX2.0を使用して作成されたMSIインストーラーを備えた.NETアプリケーションがあります。インストーラーは(とりわけ)COM +アプリケーションを作成し、.NETアセンブリをコンポーネントとしてこのアプリケーションにインストールします。このDLLは純粋に管理されていますが、32ビットまたは64ビットの混合DLLを呼び出します。32ビットプラットフォームでは、すべてが正常に機能します。ただし、64ビットでは、COM + dllhost.exeプロセスは32ビットとして実行され、その後、ネイティブDLLのロードに失敗します。レジストリを見ると、COM +コンポーネントDLLがWow6432Nodeキーで登録されていることがわかり、それがdllhostが32ビットとして実行されている理由だと思います。
コンポーネントサービススナップインを使用してDLLを削除して再度追加すると、すべてが「実際の」レジストリに正しく登録され、dllhostは64ビットで起動します。インストーラーに同じことをさせるにはどうすればよいですか。64ビットDLLとして正しく登録しますか?PackagePlatform属性を"x64"に設定し、すべてのコンポーネントにWin64 = "yes"属性を設定しましたが、これらは役に立たなかったようです。
COM+コンポーネントのWiXソースは次のようになります。
.net - COM+ は引き続き推奨されますか?
私は数年前、COM+ コンポーネントにビジネス データ アクセス レイヤーを展開する ASP.Net アプリを作成していました。これは、ここ私の国のいくつかの企業インフラストラクチャの標準でした。これはまだ推奨されていますか?代替手段は何ですか?
.net - 新しいエンタープライズ開発で EnterpriseServices を使用しますか?
ご存知かもしれませんが、マネージ コード (.NET アプリ) はEnterpriseServicesを介して COM+ を利用できます。これにより、分散トランザクション、リソース プール、同期などの問題を「簡単にプログラミング」できます。これは、ソリューションが COM+ によってアプリケーションをサポートするインフラストラクチャとして提供されるためです。 .
アプリケーション サーバーが Windows ドメインにある場合、COM+は「スレッド プーリング、オブジェクト プーリング、ジャスト イン タイムのオブジェクト アクティベーションを提供することで、自動的にアプリケーションのスケーラビリティを高めます。トランザクションがネットワーク上の複数のデータベースにまたがる場合" (MS ソース)
たとえば、再利用できる COM+ コンポーネントを作成していない会社で、大きなアプリケーションをゼロから構築する必要があるとします。そのため、そのテクノロジに縛られることはありません。
これは大きなシステムになりますが、時間の経過とともにさらに大きくなる可能性があります。分散トランザクションが常に行われている大規模な ERP のようなものだとしましょう。最後に、システム コアが Microsoft Windows ドメインにあるとしましょう... System.EnterpriseServices (ES) による COM+ の採用を選択します。一部のコンポーネントをサードパーティが利用できるようにする必要がありますが、これは WCF を介して行うことができます。
このテクノロジーが利用可能であり、環境に互換性があることを知っていれば、それを使用しますか?
答えが「いいえ」の場合、COM+ が提供するすべてのサービス (分散トランザクションなど) は、完全に管理された環境で利用可能で使いやすいですか?
c# - Visual Studio からの Gac 複数プロジェクト
現在、Visual Studio の外部ツールとして "gacutil /i $(TargetPath)" があり、単一のプロジェクトの gac'n で問題なく動作します。
複数のプロジェクトを選択して gac できるようにしたいので、バッチ スクリプトをまとめてテストします。
コマンドラインからテストすると、うまくいくように見えます。次に、「MultiGac.bat $(TargetPath)」として接続し、複数のプロジェクトを選択して試してみると機能しません。
アドインまたは外部ツールのいずれかを使用して、味などを達成するためのツールを作成した人はいますか? regsvcs も使用してみませんか?
ありがとう
com - .NetのCOM+サーバーでホストされている.NetCOMオブジェクトにアクセスするにはどうすればよいですか?
この質問は、Marc Gravellが私の質問に対して行った回答のフォローアップです。C#/。NetでアウトオブプロセスCOMを作成しますか?。私は彼の提案した解決策を選択しましたが、現在は別の問題で実行されています。
これが私の状況です:
- 「DataProvider」COMコンポーネントをC#で実装しました
- このコンポーネントはCOM+サーバーアプリケーションでホストされるため、複数のプロセスがDataProviderの同じインスタンスにアクセスできます
- COMを介してデータプロバイダーにアクセスできるプロセスの種類は、Matlab、VBスクリプト、および.Netアプリケーションです。
MatlabまたはVBスクリプトからCOMDataProviderをインスタンス化すると、COM +メカニズムが起動し、DataProviderの単一のインスタンスを使用できることを確認できます。
問題は、.NetからCOM+マネージドインスタンスにアクセスしようとすると発生します。基本的に、COMコンポーネントが.Net DLLに基づいている場合、遅延読み込みがあっても、.Netは常にDLLを見つけてそこからオブジェクトをインスタンス化し、COMメカニズム全体をスキップするように見えます。これはパフォーマンスに期待されていますが、私の場合は役に立ちません。
ここで質問があります。COMメカニズムを使用して.Netアプリケーションで.Netで記述されたCOMコンポーネントをインスタンス化することは可能ですか?
次のコードはCOMメカニズムを使用しないことに注意してください。
.net - C# クライアントからのリモート COM+ ServicedComponent の呼び出し
COM+ サーバー アプリケーションにサービス コンポーネントをインストールしています。リモート クライアントからインスタンスを作成したいと考えています。クライアントは、サーバー マシンの名前を動的に指定できる必要があります。どうすればいいですか?
アクティベーターを使用してみました:
しかし、私はこれを取得します:
System.Runtime.Remoting.RemotingException: URL 'サーバー' に接続するチャネル シンクを作成できません。適切なチャンネルが登録されていない可能性があります。System.Runtime.Remoting.RemotingServices.Unmarshal (型 classToProxy、文字列 url、オブジェクト データ) で
チャンネル登録は必要ですか?もしそうなら、どのように?
もう 1 つのアイデアは、Marshall.BindToMoniker を使用することですが、サーバー x 上の COM+ でホストされているリモート オブジェクトのモニカーを指定するにはどうすればよいでしょうか?
java - 無料の方法を使用してJavaからCOM+ライブラリを実行する方法
VB6で開発されたCOM+コンポーネントがあります。
コンポーネントサービスマネージャーCOM+アプリケーションに登録すると、ASPからこのように使用できます
必要なのはこれだけです。コンポーネントは(おそらく巨大な)文字列を受け取り、別の(おそらく巨大な)文字列を返します...
Javaからこれとまったく同じコンポーネントにアクセスする方法はありますか?
私がこれまでに見つけたのはJ-Integraですが、これは商用製品です。
codeguru.comでもこのスレッドを見つけましたが、C ++。NETの知識はかなり貧弱で、無料の純粋なJavaソリューションを見つけたいだけです。
.net - COM+ 内から WCF サービスをホストできますか?
WCF は初めてですが、COM+ には慣れています。WCF サービスを COM+ アプリケーション内にラップできますか?
多くの人がこの質問を無視して私の動機に疑問を抱くかもしれないことは承知していますが(それはそれで結構です)、実際にこれが根本的に可能かどうかも知りたいです.