2.基礎代碼
向SimplePlugin.PluginCore項目添加以下文件:
(1)IPlugin.cs:做爲全部插件的抽象接口。
(2)PluginManager:負責加載插件和引用插件。
(3)向Simple.Web項目添加Plugins目錄和Plugins/bin目錄。向Simple.Web項目添加Controllers/PluginController.cs
修改web.config,配置probing元素。指定trust level爲中等信任級別下的插件運行時目錄。
3.編寫插件
經過Nuget向SimplePlugin.SimpleMvcPlugin項目添加MVC程序集引用,須要注意插件的MVC版本與SimplePlugin.PluginCore引用的MVC版本的一致性。
(1)添加Controllers/SimpleMvcPlugin.cs實現接口IPlugin
(2)添加Controllers/SimplePluginMvcController.cs
(2)添加視圖Views/SimpleMvcPlugin/Index.cshtml
(3)複製SimplePlugin.Web項目中SimplePlugin.Web/Views/web.config文件到當前項目的根目錄和Views目錄下。
(4)設置.cshtml以及.config文件類型爲內容,生成設置爲較新則複製。
(5)設置SimplePlugin.SimpleMvcPlugin項目引用的程序集屬性複製到本地爲False。
(6)設置SimplePlugin.SimpleMvcPlugin項目的生成路徑爲bin\Debug\SimpleMvcPlugin\和bin\Release\SimpleMvcPlugin\
4.手動部署插件
生成解決方案,訪問SimplePlugin.Web的插件列表頁:
拷貝生成的SimpleMvcPlugin文件夾到SimplePlugin.Web項目的Plugins文件夾下,訪問SimplePlugin.Web的~/Plugin/Install訪問SimplePlugin.Web的插件列表頁
訪問SimplePlugin.Web的~/SimpleMvcPlugin/Index頁
5.自動部署
設置設置SimplePlugin.SimpleMvcPlugin項目的生成路徑爲:..\SimplePlugin.Web\Plugins\SimpleMvcPlugin\ 同時設置Debug和Release兩種配置。
從新生成解決方案,訪問SimplePlugin.Web的插件列表頁以及~/SimpleMvcPlugin/Index頁:
6.測試中級信任級別
設置web.config的trust元素的level屬性爲Medium,禁止訪問應用程序目錄之外的文件。