我正在创建某种插件系统。目前我使用WinForms
应用程序来加载程序集,使用Assembly.Load
和Activator.CreateInstance
。 WinForms GUI应该只显示当前加载的程序集(插件)的名称。在服务器端运行连续的自定义应用程序逻辑。入口点?
库中存在一个类PluginManager
,它实例化并保存了所有实现者的列表。
但是,我现在想要从Silverlight
应用程序访问插件列表(仅限它们的名称)。
我有一个在Visual Studio中创建的Silverlight 4
应用程序。
这增加了两个项目:
MyProject
(SL 4项目)MyProject.Web
(含其运行.xap文件在.aspx启动页)
我需要的是PluginManager
及其实例化的插件不仅在Silverlight页面请求期间(通过aspx页面)加载,而且始终加载,即使用户从不在浏览器中打开Silverlight应用程序。我对这个.Web项目的入口点感到困惑。 (在控制台应用程序中,我会将代码放入Main方法中,在Loaded事件处理程序的WinForms中,但我不知道该.Web
项目中的“服务”在哪里启动)。
这是如何工作的?我应该在哪里实例化我的PluginManager
? .Web
项目仅在HTTP请求期间短暂运行,还是可以连续运行?
网站或Web应用程序? –
它是作为一个Silverlight商业应用项目模板制作的,所以VS生成了两个项目。所以我想这是一个应用程序。不知道,但。我如何检查? –