Как получить активированные дополнения? - PullRequest
1 голос
/ 07 февраля 2012

У меня есть несколько надстроек, активированных в процессе обслуживания Windows. У меня есть другой процесс, где приложение GUI работает. Я хочу получить активированные дополнения из сервиса. Проблема в том, что я не могу получить активированное событие addins в процессе обслуживания. Есть идеи?

PS: я говорю о System.Addin

EDIT:

Что я действительно хочу, так это отключить надстройки. Один из способов сделать это, как показано ниже. Проблема в том, что мне нужна ссылка на надстройку. Приложение с графическим интерфейсом не имеет такой ссылки. Стоит ли сериализовать в сервисе и десериализовать в графическом интерфейсе?

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

1 Ответ

2 голосов
/ 08 февраля 2012

Это на самом деле проблема межпроцессного взаимодействия.Хотя ваша служба может хранить список надстроек по мере их активации, никакое другое приложение не сможет увидеть этот список, если служба явно не выставляет его.Это означает, что проблема ничем не отличается от предоставления какого-либо списка объектов.

Это можно сделать разными способами, например, путем предоставления службы WCF, общей базы данных или файла с отображением в памяти.

...