基于.NET的Form动态创建和自动更新架构设计
2017-03-22韦振锦
摘 要在基于.NET平台化理念设计,以及对相应业务应用系统进行开发的过程中,在业务平台底层当中,业务Form动态创建,以及其所依赖的Assembly自动更新架构设计,都是十分关键的内容之一。在.NEt Frame work开发框架当中,对反射机制进行了提供,利用这种应用设计方法,能够确保良好的技术基础。同时,此种架构设计,能够确保业务动态的有效维护、业务按需部署、业务模块自动更新、平台用户权限灵活分配等,并且为其提供了充足的技术支持。在具体的架构设计当中,则是以.NET、Oracle数据库、缓存等技术进行设计与实现的。
【关键词】.NET Form动态创建 自动更新 架构设计
.NET是一种Microsoft XML Web services平台,可允许应用程序利用internet共享数据和实现通讯,不受编程语言、设备、操作系统的影响了限制。.NET平台可对这些服务进行创建和集成,从而满足用户的个性化需求。Form则是VB编程当中的对话框、窗口等对象,是应用程序用户界面当中的一部分。为了更好的满足用户需求,需要实现Form动态创建和自动更新,而以.NET为基础,通过适当的架构设计,能够实现这一目标。
1 Form动态创建技术
在.NET Frame work開放框架当中,对Assembly动态加载相关技术、反射机制等进行了提供服务支持,通过反射、解析、访问程序集Assembly元数据,在程序集内存加载,以及相关包含类动态创建等过程当中,提供了充足的技术保障。同时,对于用户业务界面中Form类实例的动态创建,提供了充足的依据和支持。在创建Form的过程中,可以采用程序集Assembly直接引用创建,也可以通过非直接引用的方法进行创建,如图1所示。
在直接引用创建的方法当中,在开发工程当中,直接对Form类所在程序集Assembly进行引用,在用户窗体的创建中,采用硬编码new Form()的方法直接进行创建,对用户业务界面进行展现。该方法的主要优势在于,启动程序的过程中,Form所在程序集Assembly,以及其依赖的相关程序集,可在程序域当中进行加在载,这与反射创建相比,具有更为良好的性能,发生错误的几率比较低,调试也比较容易。不过,该方法同样具有一定的不足支持,那就是在修复Bug、升级维护业务的过程中,存在较大难度,按需部署业务的灵活性不足,业务安全性、权威限管理等也相对较低。
另一种方法是非直接引用的创建方式,在这种创建方式中,工程开发当中不会对Form类所在程序集Assembly直接进行引用,而是利用反射机制,对用户窗体进行间接创建,并对Assembly进行动态加载,从而对用户业务界面进行展现。这种方法的主要优势在于程序创建Form具有较高的灵活性,在修复Bug、升级维护业务的时候较为有利,可以根据需求部署相关程序业务,程序集Assembly的动态更新较为容易,同时具有较高的业务安全性和用户权威限管理,应用程序的扩展性也相对较高。此外,这种非直接引用的创建方法,还能够支持只对业务平台底层相对不变变化不大的程序集的部署,而荣用户根据权限在客户端内存中动态加载其它的需要的业务程序,无需在客户端进行程序集文件的落地安装部署,因而业务安全性、程序灵活性都能够得到理想的提升。不过,非直接引用的创建方法具有较为复杂的技术实现框架,程序调试难度加大,需要采用服务器端缓存技术、客户端缓存技术、以及其它一些相关技术对其性能进行提升。
2 缓存技术
在上述技术框架当中,包办了服务器端缓存、客户端缓存等内容,能够对业务平台程序整体性能进行提升,使网络数据传输量得到降低,从而使网络利用效率得到提升,降低数据库服务器访问量、中间服务器并发访问量,使数据库数据查询的IO成本得到降低,最终实现程序可靠性、稳定性的提升。
在服务器端缓存中,Form动态创建技术框架,在服务器端采用了Oracle Result Cache缓存技术,能够对创建Form各种数据库数据进行缓存,使数据库服务器相应性能、查询性能得到提升,并确保数据库集缓存数据更新的及时性、和一致性进行确保。综合考虑数据库服务器配置性能,以及IIS等中间件服务器,不采用Form动态创建中间件服务器缓存策略,从而使程序代码开发量降低。
在客户端缓存方面,在.NET Frame work 4.0当中,对缓存开发架构进行了提供服务支持,在客户端,Form动态创建技术框架,对Memory Cache内存缓存技术进行了应用,对创建Form相关后台定义权限数据、程序及数据等进行缓存,从而降低后台服务器访问量,提升客户端程序相应性能,根据业务使用情况,对缓存时间、缓存策略等进行确定。
3 Oracle数据库技术
在Form动态创建及自动更新架构中,Oracle数据库设计主要与应用程序菜单表、应用菜单菜单功能表、应用程序程序集版本控制表等内容相关。其中,应用菜单菜单功能表主要是对创建Form的元数据信息进行保存,基于.NET反射机制,以及表中相关定义数据,程序能够对用户业务Form界面进行动态创建,应用程序程序集版本控制表则主要对业务程序及信息进行存储,用于Assembly动态更新、MD5检查、业务程序集版本控制等。
4 结论
在给予.NET的Form动态创建和自动更新架构设计中,包含了Form动态创建技术、缓存技术、Oracle数据库技术等,综合各种技术完成设计,为用户提供跟更好的服务。
参考文献
[1]罗福强,白忠建,杨剑.Visual C#.NET程序设计教程[M].北京:人民邮电出版社,2013.
[2]Karli Watson.C#入门经典.6版[M].北京:清华大学出版社,2014.
[3]王清培..NET框架设计模式、配置、工具[M].北京:人民邮电出版社,2015.
[4]林树泽,卢芬.Oracle 119 R2 DBA操作指南[M].北京:清华大学出版社,2013.
作者简介
韦振锦(1976-),男,梧州市藤县人。大学本科学历。现为广西柳州市自动化科学研究所高级工程师。研究方向为工作流、智能表单。
作者单位
广西柳州市自动化科学研究所 广西壮族自治区柳州市 545001