基于.net框架下的插件系统的实现方法
来源:互联网 发布:37传奇霸业转生数据 编辑:程序博客网 时间:2024/06/05 04:35
插件相信大家都知道,它的应用相当广泛。那我们自己在开发应用系统时能否也借鉴插件的一种方法来实现程序版本的升级与某一部分功能模块的更新呢?比如说用户的某些业务更改啦,这时我们就需要对这一更改的业务进行重组,以前一般是把业务逻辑重写并重新编译全部源程序再发布。如果采用插件的方法来实现,我们只需要把新的业务逻辑重新编译发布成DLL文件,利用框架的功能来实现动态加载业务逻辑。
.net平台中其实实现插件的关键技术点就是动态加载动态链接库(DLL),即Assembly类的应用。这里大致介绍下把新增的模块作为插件的形式发布的实现思路如下:
一、把新实现或新增的功能模块发布成DLL文件;
二、通过XML或数据库配置相关信息,包括命名空间、类名、链接库文件名、启动方法名(默认为类名)三个参数;
三、基础框架程序通过读取的三个参数利用Assembly.LoadFrom(文件名)函数加载动态链接库;
四、根据类名和启动方法名实例化类、调用启动方法;
下面给出一个简单的实现源代码:
Try { // 载入程序集
Assembly MyAssembly=Assembly.LoadFrom(lpFileName);
Type[] type=MyAssembly.GetTypes();
foreach(Type t in type)
{// 查找要调用的命名空间及类
if(t.Namespace==Namespace&&t.Name==ClassName)
{// 查找要调用的方法并进行调用
MethodInfo m=t.GetMethod(lpProcName);
if(m!=null)
{
object o=Activator.CreateInstance(t);
return m.Invoke(o);
}
else MessageBox.Show(" 装载出错 !");
}
}
}//try
catch(System.NullReferenceException e)
{
MessageBox.Show(e.Message);
}//catch
return (object)0;
}// Invoke
- 基于.net框架下的插件系统的实现方法
- 基于.net框架下的插件系统的实现方法
- 基于.net框架下的插件系统的实现方法(补充)
- 基于.net框架下的插件系统的实现方法(补充)
- .net框架下实现自动化测试的三种方法
- 基于.NET goshiney框架实现的应用程序
- 基于多Pagetab的插件系统框架规划
- 基于PhoneGap2.9框架的android插件的实现
- 基于PhoneGap3.4框架的iOS插件的实现
- C++实现自己的插件框架 基于QtCreator源码裁剪
- .net MVC框架下的分页实现
- 基于Layui框架的NET后台管理系统
- .NET框架下实现高性能的文件加密系统 - 编程联盟编程资料
- Net搭建的插件框架!
- 基于Scrapy框架下的Python网络爬虫的实现
- 基于SSM框架学生管理系统的实现
- 基于.net的新闻发布系统的设计与实现
- VC#.NET下基于WinForm的系统登录程序解决方法
- learning network IP
- 检测远程URL是否存在的三种方法
- 中国政府鼓励外资进入中国医疗卫生市场
- 医院高层领导在医院信息化中的角色定位及作用
- 基于.net框架下的插件系统的实现方法(补充)
- 基于.net框架下的插件系统的实现方法
- 基于.Net平台应用程序唯一运行实例C#代码实现
- 用C#获取系统有关环境、属性
- 软件架构和软件框架-用例模型设计应用(1)
- javascript函数库(全)
- 不经保存,直接读取上传文件的内容
- 月光族如何制定脱贫计划
- 快速拷贝字符串的方法memmove
- 图test