你的位置:首页 > ASP.net教程

[ASP.net教程]Asp.net Mvc模块化开发之“开启模块开发、调试、部署的简单愉快之旅”


整个世界林林种种,把所有的事情都划分为对立的两个面。

每个人都渴望的财富划分为富有和贫穷,身高被划分为高和矮,身材被划分为胖和瘦,等等。

我们总是感叹,有钱人的生活我不懂;有钱人又何尝能懂我们每天起早贪黑的工作,总是做不到来一次说走就走的旅行。


程序员的生活也是这样。但你觉得自己学有所成是去面试一家互联网公司,很可能面临的是一盆冷水泼下。

面试的人员可能委婉的告诉你:我们是企业级开发,你那些个人演示的项目经验在我们这里的实际项目中几乎没用;

我们做的是分布式应用,分布式你懂吗?我们的应用都是要上云的,云计算你懂吗?

你一头雾水在心里愤愤不平又能怎么样?只能感叹,你们的代码世界我不懂。

世界已经是这样了,我们也没有能力消除贫困,只能尽力减少贫富差距。

项目开发也是一样,企业级复杂系统需求在哪里,我们不可能去减少和改变需求,我努力的方向是开发一些工具,作为桥梁简化企业级或者分布式开发,让它和我们的简单应用开发尽可能的相似。


废话说了不少了,还是尽快开启我们的模块开发之旅吧。

一、先搭分区项目配置

1、先建一个普通的Mvc(4.0)项目,并添加所需引用(分区扩展框架、Unity容器(2.0)、企业库(4.0))

  

2、配置容器和分区

  2.1 修改路由配置类为分区类

 原路由配置

 新分区配置路由

   以上修改后的分区配置(行路由)类我还特意保留老的路由规则,除了方法签名就是直接复制路由规则了,easy吧。

  2.2 新建容器配置文件(unity.config),并在其中配置分区(增加一个依赖注入容器)

  

    如图我们使用当前项目名(MvcApplication1)作为分区名和分区路径建了一个分区(我习惯把这个配置文件都放在项目下的ConfigFiles文件夹下,大家可以按照自己的习惯放在任意位置。)

2.3 注释Global.asax.cs中关于路由和过滤注册的代码

2.4 在Web.config中增加调用unity配置的节点

2.5 在Web.config中的system.webServer和system.web增加分区扩展框架的httpModule

2.6 配置完了,现在加一个测试控制试一下

现在浏览测试一下(直接F5):

看到这个界面那是满满的欣悦,我们已经成功扩展了Mvc分区项目,没有使用默认的路由方式和过滤器方式

有人说,默认新建一个Mvc项目直接F5就能看到你这个界面,你这光配置就要6个步骤,太麻烦了。

大家有没有发现以上步骤都是机械性的简单配置,熟悉的人只要一顿ctrl+C和ctrl+V在几分钟内即可完成,不可谓不简单

当然也可以做一个代码生成工具(T4模板、CodeSmith等),一键生成。甚至可以可以做一个扩展后的Mvc项目模板,和默认的Mvc项目一样生成,一样简单。在这里我就不过多展开了。

 

二、我们继续分区框架的探讨

1、 有人可能说,不是说好的模块话开发吗?不可能每个模块都是根目录,这样会冲突的。

     哈哈这个好说话,分区路径是可以配置的,只要设置一个分区路径就ok了

    不只是这样,同一个开发项目还可以配置两个(及更多都行)分区,其中一个配置默认路径,开发调试方便;一个配置模拟部署路径,随时预览部署后的效果

    (分区配置图)

    (默认分区效果图)(模拟部署效果图)

2、有人说两个分区的视图(Views)都放在根目录下不科学啊,现实部署环境这样会冲突的。

 

 

     

 不好意识,还是草稿就不小心发布出去了,工作太忙,抽时间一点点补,大家多担待