1

Windowsサービスプロセス内でいくつかのアドインをアクティブ化しています。GUIアプリケーションが実行されている別のプロセスがあります。私が欲しいのは、どういうわけかアクティブ化されたアドインをサービスから取得することです。問題は、サービスプロセス内でアクティブ化されたアドインイベントを取得できないことです。何か案は?

PS:私はSystem.Addinについて話している

編集:

私が本当に望んでいるのは、アドインをシャットダウンすることです。これを行う1つの方法は、次のコードのようなものです。問題は、アドインへの参照が必要なことです。GUIアプリケーションにはそのような参照はありません。サービスでシリアル化し、GUIで逆シリアル化する必要がありますか?

// Retreive the AddInController for my add-in and then shut it down
AddInController.GetAddInController(addin).Shutdown();
4

1 に答える 1

2

これは実際にはプロセス間通信の問題です。サービスは、アドインをアクティブ化するときにアドインのリストを保持できますが、サービスが明示的に公開しない限り、別のアプリケーションがそのリストを表示することはできません。つまり、問題はオブジェクトのリストを公開することと同じです。

これは、WCFサービス、共有データベース、またはメモリマップトファイルを公開するなど、さまざまな方法で実行できます。

于 2012-02-07T22:11:32.940 に答える