2012-02-07 69 views
1

我有幾個插件在Windows服務進程中激活。我有一個GUI應用程序正在運行的另一個進程。我想要的是以某種方式獲得激活的插件形式的服務。問題是我無法在服務過程中獲取激活的插件事件。有任何想法嗎?如何獲得激活插件?

PS:我說的是System.Addin

編輯:

我真正想要的是關閉的加載項。其中一種方法就像下面的代碼一樣。問題是我需要對插件的引用。 GUI應用程序沒有這樣的參考。我應該在服務中序列化並在GUI中進行反序列化?

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

不,這是MAF - >託管AddIn框架 – mynkow 2012-02-07 14:27:18

+0

好吧,忽略我的評論然後:) – 2012-02-07 14:32:11

回答

2

這實際上是一個進程間通信問題。雖然您的服務可以在啓動它們時保留加載列表,但除非服務明確公開它,否則其他應用程序無法查看該列表。這意味着問題與暴露任何對象列表沒有區別。

您可以通過多種方式完成此操作,例如公開WCF服務,共享數據庫或內存映射文件。