免费 下载框架
http://code68.com/Resources/RDetails454.html
感觉还意思,,.Net实现插件式模块化开发
1:插件分哪些类别?
功能插件-(附件预览/Excel导入导出/生成pdf) 等,,,
业务插件--(用户管理/部门管理/角色管理/权限管理/工作流) 插件 等。。。
数据插件-(楼盘数据/人数据/资讯数据/地理数据) 等暴露api给业务插件调用
每个插件都是独立的MVC站点,
2:插件直接怎么相互调用?
@Html.Action("Index", "Static", new { pluginName = "Static" ,callback="/userlist/saveuser"})
接口调用,使用插件的时候设置回调插件
URL直接访问插件控制器, 比如访问用户的列表插件 /User/List
3:插件自身包含哪些内容
插件的资源文件(.cshtml/Js/CSS/Img)等
4:插件化的好处
功能模块最大化服用,低耦合,高内聚,
每个程序员 维护好自己的插件,提供接口和控制器 给其他同事 直接调用
5:例子下载:
http://www.code68.com/webSite/HelpDetails
步骤:
1、下载插件源码完整Demo
来吧,开启插件开发之旅。。。
完整的一套可运行的插件嵌入MVC Demo
2、初始化框架
配置webconfig /* Plugin1插件框架配置DLl目录 */
PluginMvc.Framework.Bootstrapper.Initialize(true);
/* Plugin1插件框架配置DLl目录 */
配置webconfig <runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<!-- Plugin2插件框架配置DLl目录-->
<probing privatePath="App_Data/Dependencies" />
<!-- Plugin2插件框架配置DLl目录-->
</assemblyBinding>
</runtime>
3、添加Dll引用?
效果预览
项目插件目录:
每个插件动态编译到Plugins目录支持热插拔
【2】
Global配置插件启动代码:
实现动态加载Plugins目录下所有插件【3】
webconfig配置插件AppDomain目录:
实现动态控制器分离加载【5】
主站点访问插件页面:
控制器/Action 访问
也可直接在View视图页面通过MVC Html.Action渲染插件页面
@Html.Action("Index", "Bootstrap", new { pluginName = "Bootstrap" })
案例:
首页:
http://miankaifa.com
体验地址
http://miankaifa.com/Login/Default
作者:免开发
出处:http://www.code68.com/
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。如有问题,可以邮件:code68@163.com 微信:code68 QQ:1362250488联系我,非常感谢。
扫下面的二维码关注我的微信公众号。