`
king_tt
  • 浏览: 2108424 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ASP.NET MVC插件技术

 
阅读更多


ASP.NET MVC插件技术


在实际开发中,经常会出现需要“临时”调整业务逻辑的情型,比如某电子商务网站在双十一时价格特别优惠,双十一后恢复原价。这种不同的商品价格计算方法,就适合于以插件实现。

自.NET 4.0起,Managed Extensibility Framework(简称MEF)成为了.NET Framework中的有机组成部分,它支持程序在运行时动态组合装配各种部件。使用它,我们可以实现:不停止Web网站在线实时更新系统。

我写了一个Demo,展示实现上述功能需求所涉及到的基本技术。

示例解决方案的启动项目是一个ASP.NET MVC4项目,其运行网页截图如下:



图1

图2

这个项目的特点是:

(1)在更新系统时无需停机,一上传,新组件立即生效

(2)通过给要使用的组件指定一个更高的版本号,系统将自动并装载它

(3)所有操作均通过Web完成,无需使用FTP等其他工具跨网络传输文件。

(4)组件文件名无关紧要,在本例中,如果上传的新组件与老组件文件名相同,将不会保存新组件。

放在CSDN的资源包中除了源代码(VS2013格式),还有一个17页的PDF文档,介绍更详细的内容。

这个项目用到MEF,详细介绍它不是一篇短短的博文所能做到的。但你要是不懂MEF,则无法掌握这里所谈到的技术。请自行找寻相关资料学习MEF,我在《.NET 4.0面向对象编程漫谈(应用篇)》中有一章专门讲述MEF,可供参考。

注:此书己被互联网“雷锋”扫描共享,作为作者,我只能无奈地笑笑毕竟知识共享才能创造价值,只希望我写的这些书能真的帮助大家学好用好技术,那我付出的劳动也算值回票价了,也算得到了一点心理安慰……


最后,再谈谈MEF与NInject等IoC容器使用场景:

在ASP.NET MVC项目中,IoC容器主要用于向Controller动态地注入业务逻辑层(或服务层)的组件,另外,如果数据存取层中应用了Repository模式设计了若干Repository,则也可以将其动态注入到上层的组件中,向上层组件提供CRUD数据服务。

MEF的使用场景则不一样,它比较适合在中间层使用,用于动态地更新或扩充系统业务逻辑功能,比较适合于业务流程的微调,实现整个系统的插件化。


本文如有错漏,欢迎高手指正。谢谢。


====================================

点击下载 ASP.NET MVC插件技术


分享到:
评论

相关推荐

    ASP.NET MVC插件 MVC 2.0

    ASP.NET MVC插件 MVC 2.0ASP.NET MVC插件 MVC 2.0ASP.NET MVC插件 MVC 2.0ASP.NET MVC插件 MVC 2.0ASP.NET MVC插件 MVC 2.0ASP.NET MVC插件 MVC 2.0ASP.NET MVC插件 MVC 2.0

    ASP.NET MVC 4 插件化架构简单实现

    ASP.NET MVC 4 插件化架构简单实现 ASP.NET MVC 4 插件化架构简单实现-思路篇 http://blog.csdn.net/hao_ds/article/details/42102969 ASP.NET MVC 4 插件化架构简单实现-实例篇 ...

    ASP.NET MVC项目源代码设计资料

    ASP.NET MVC项目源代码设计资料

    asp.net mvc插件

    这是asp.net的mvc插件,三层构架,想下载的就下载吧。同样适合vb.net。

    ASP.NET MVC 3.0 插件

    ASP.NET MVC 3.0 插件,ASP.NET MVC 3.0 插件,ASP.NET MVC 3.0 插件

    Asp.net MVC 实现在线预览word、excel、ppt、pdf文件

    Asp.net MVC 利用(aspose+pdfobject.js) 实现在线预览word、excel、ppt、pdf文件 在线预览常用办公文档(word、excel、ppt、pdf)

    ASP.NET MVC插件 MVC 1.0

    ASP.NET MVC 1.0 ,包含两个MVC 1.0的版本,具体内容,我不做介绍,需自己研究。

    ASP.NET MVC3 简单增删改查分页例子

    ASP.NET MVC3 简单的增删改查分页例子(附数据库,下载即可运行),适合新手使用,实现增删该查以及分页功能(使用老外写的一个jquery插件完成超炫的分页效果),代码简洁,注释详细,欢迎大家下载使用。

    asp.net MVC3实例开发ppt

    asp.net MVC3实例开发教程,是基于ASP.NET MVC3+ADO.NET4+EF4.1+Jquery+插件等技术下的CRM企业客户管理系统,asp.net MVC3实例开发教程由北风网提供,asp.net MVC3实例开发教程包括:营销管理、客户管理、服务管理、...

    asp.net 插件式开发

    简单的asp.net mvc 插件式开发,可以在此基础上扩展,探讨

    ASP.NET MVC框架下的Webpart插件开发

    ASP.NET MVC框架下的Webpart Portlet插件开发

    Asp.net Mvc简易插件系统示例

    这是一个简易的插件系统,每个插件项目可以是纯DLL,也可以是一个MVC应用,实现原理请看我的博客:http://www.cnblogs.com/94pm/p/6819812.html

    ASP.NET MVC 使用zyUpload插件实现多图上传

    ASP.NET MVC 使用zyUpload插件实现多图上传 具体实现效果和详细描述见:http://www.51softs.com/aspnet/asp-net-mvc-zyupload-upload-picture.html

    可重用的MVC分页方法(ASP.NET MVC)

    这是一个非常实用的MVC分页案例! 不需要借助任何插件,实现纯手工分页,而又不失简洁。 代码打开即可运行!

    ASP.NET MVC+EF6+Bootstrap开发C#源代码

    一套基于ASP.NET MVC+EF6+Bootstrap开发出来的框架源代码! 采用主流框架,容易上手,简单易学,学习成本低。可完全实现二次开发、基本满足80%项目需求。 可以帮助解决.NET项目70%的重复工作,让开发更多关注业务...

    课程设计ASp.NET MVC5博客

    鉴于本学习学习的asp.net,及时写一个小项目练练手。 项目开发环境以及相关技术如下: ...框架:asp.net MVC 5 ORM:EF6 前端:视图脚本采用.cshtml —基于c#的razor 弹层:layer.js 分页:PageList插件

    asp.net mvc 加载外部插件 插件化实现

    实现插件化,动态加载外部插件,很多大型系统都有插件功能吧:) 易维护

    一个基于ASP.NET MVC实现的在线考试系统源码+项目说明.zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为...一个基于ASP.NET MVC实现的在线考试系统源码+项目说明.zip

    ASP.NET MVC 4项目实现插件化

    掌握本技术的前提是会用MEF,可以参考我写的《.NET 4.0面向对象编程漫谈(应用篇)》第22章。与本资源相关的网页在我的个人博客上:http://blog.csdn.net/bitfan/article/details/17260775,技术问题可以在那儿交流...

    Asp.net MVC Chosen插件源码实例

    asp.net MVC chosen插件源码实例 此项目可作为学习asp.net MVC项目 或学习chosen插件的实例 带有数据库 特色为运用了chosen插件 本项目中在Orders/Details/页面中Carton No和Article No为chosen插件的运用

Global site tag (gtag.js) - Google Analytics