Я создаю какую-то систему плагинов. В настоящее время я использовал WinForms
приложение для загрузки сборок, используя Assembly.Load
и Activator.CreateInstance
. Графический интерфейс WinForms должен был показывать только имена загруженных в данный момент сборок (плагинов).
В библиотеке PluginManager
есть класс, который создает и хранит список всех IPlugin
разработчиков.
Однако теперь я хочу получить доступ к списку плагинов (только их названия) из приложения Silverlight
.
У меня есть приложение Silverlight 4
, созданное в Visual Studio.
Это добавило два проекта:
MyProject
(проект SL 4)
MyProject.Web
(содержит стартовую страницу .aspx, на которой запускается файл .xap)
Мне нужно, чтобы PluginManager
и его созданные плагины загружались не только во время запроса страницы silverlight (через страницу aspx), но и все время, даже если пользователь никогда не открывает приложение silverlight в браузере. И я не совсем понимаю, что является отправной точкой проекта .Web. (в консольном приложении я поместил бы код в метод Main, в WinForms в обработчике событий Loaded, но я не знаю, где запустить мой «сервис» в этом .Web
проекте).
Как это работает? Где я должен создать свой экземпляр PluginManager
? Является ли этот проект .Web
недолговечным только во время HTTP-запроса или он может выполняться непрерывно?