从MVC4开始,我们就发现,项目中对Global.asax进行了优化,将原来在MVC3中使用的代码移到了【App_Start】文件夹下,而Global.asax只负责初始化。其中的BundleConfig类就有个很牛X的功能:合并与压缩。想到以前做ASP.NET的时候要通过工具压缩,手动合并,很麻烦。通过BundleConfig可以大大的提高工作效率和项目性能。

一、基本的使用

1.1、Global.asax文件的初始化

1
2
3
4
protected void Application_Start()
      {
          RouteConfig.RegisterRoutes(RouteTable.Routes);
      }

1.2、BundleConfig 绑定压缩文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class BundleConfig
{
    // 有关 Bundling 的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=254725
    public static void RegisterBundles(BundleCollection bundles)
    {
 
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(   
            "~/Content/Scripts/jquery-{version}.js"
           ));
 
        bundles.Add(new ScriptBundle("~/Content/Scripts/toojs").Include(
                  "~/Content/Scripts/jquery.cookie.js",
                 "~/Content/Scripts/footer.js"
             ));

1.3、视图中的显示

1
2
3
@Styles.Render("~/Content/Css/Common"//单个样式的绑定
 
@Scripts.Render("~/bundles/jquery","~/Content/Scripts/toojs","~/Content/Sctipts/bootstraptJs"//多个JS的绑定

1.4、web.config 的配置

1
2
<system.web>
    <compilation debug="true" targetFramework="4.5"/>
1
debug="false"的时候就启用的压缩

二、效果说明 

 当启用压缩之后,打开firebug你会看到

多个文件在一起会被合并,文件格式去掉了,形成的压缩,提高了文件的加载时间。

我觉得还有一个很智能的好处:支持正则匹配文件

*\{version}  两个是很好的匹配,在实际项目中,在样式迭代开发时,stlye.1.0.css,stlye.1.1.css,stlye.1.2.css,stlye.1.3.css……模式累加,路径只写 ~/Content/stlye.*.css 就可以了。

在JS开发的时候很多时候改了BUG,JS有版本更新:Script.1.0.js,Script.1.0.min.js,Script.1.1.js,Script.1.1.min.js  会使用到最新版本,用{version} debug模式下会取最新的文件,发布的时候会取最新的min

 

三、注意事项:

1
刚开始的时候虚拟路径的命名有就很奇怪: ~/bundles/jquery。如下:
1
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
1
bundles.Add(new ScriptBundle("~/Content/Scripts/toojs").Include(<br><br>
1
我开始以为:~/Content/Scripts 是文件的文件夹地址,后面随便命名,但~/bundles 又是什么?我们跟踪的时候发现:

1
在bundles 注册之前就有了值,原来系统已经定义好了7个路径标识,应该是默认常用的吧。这个地方坑了我好长时间了,百度也没人说~

 好了,就这么多了,这节没有讲代码,就是说了下捆绑的新功能 。

 

 

 

 

posted @ 2014-08-07 15:59 inline 阅读(7235) 评论(2) 推荐(2) 编辑
摘要: 写了几天发觉大部分时间用在JS上了,本来想写个musicstore,却加了框架,然后又想用后台,然后又想用上bootstrapt,然后又想弄权限设计,然后又想………… 看来是想多了~ 好吧,最近把后台搭起来了,用了metronic.bootstrap, 真心很强大。功能很多,为了节约时间成本就在它上面改吧。先上图看看 阅读全文
posted @ 2014-07-29 16:19 inline 阅读(6069) 评论(4) 推荐(4) 编辑
摘要: 需求:我们要实现对用户中心只有登录的用户才能访问,如果没登录就跳转到登录页面,其它页面都可以访问: 用户身份验证,依赖于 forms 身份验证类:FormsAuthentication,它是一串加密的cookie 来实现对控制器访问限制和登陆页面的访问控制。它在浏览器端是这样子的: 阅读全文
posted @ 2014-07-24 15:36 inline 阅读(7021) 评论(5) 推荐(1) 编辑
摘要: Unit Of Work模式会记录所有对象模型修改过的信息,在提交的时候,一次性修改,并把结果同步到数据库。 这个过程通常被封装在事务中。所以在DAL中采用Unit Of Work模式好处就在于能够确保数据的完整性,如果在持有一系列业务对象(同属于一个事务)的过程中出现问题,就可以将所有的修改回滚,以确保数据始终处于有效状态,不会出现脏数据。 阅读全文
posted @ 2014-07-24 11:36 inline 阅读(7493) 评论(3) 推荐(6) 编辑
摘要: 利用ajax完成无刷新分页的功能 aspx+ashx 动软三层 分页存储过程 首先写出分页最好用一下存储过程 阅读全文
posted @ 2012-06-08 18:49 inline 阅读(7547) 评论(0) 推荐(0) 编辑
摘要: 如何提高网页加载的速度,从WEB运行原理上讲,IIS请求是无状态的,在服务器端一直是连接和关闭的不断进行着,如果能减少服务器请求,总的时间将会减少。 阅读全文
posted @ 2012-06-01 22:05 inline 阅读(4706) 评论(0) 推荐(0) 编辑
摘要: 通过模拟请求或序列化来发送不同的消息 思路:要发送不同的消息(文字,图片,文件,震动等等),我想可不可以对不同类型的消息作一个标识呢,在哪里标志呢? 因为在传输的时候服务器与客户端只以字节流的方式来完成数据的传输,那么我们就可以在不同的数据数里加一个标志。 阅读全文
posted @ 2012-05-27 23:32 inline 阅读(5103) 评论(12) 推荐(8) 编辑
摘要: 之前实现在监听客户端的上线, 现在服务器要接收客户端发来的消息来了: //接收消息,由于服务器不知道什么时候接收到消息,它就得不一直在等待接收,所以要用一个线程来完成它 阅读全文
posted @ 2012-05-27 22:52 inline 阅读(2049) 评论(3) 推荐(2) 编辑
摘要: 首先看网络通信的前提: 网络通信还是要基于协议的规范,从一个通信软件到另一个通信软件,要从应用层、传输层、网络层、物理层。IIS服务器上运用到了应用层上http协议,传输层上的tcp协议。聊天软件上以QQ和FQ为代表类型,QQ是一种广域网的聊天软件,它是一种基于面象连接的TCP协议,FQ(飞秋)局域网聊天软件应用到了基于非连接的UDP(登陆广播)和TCP(消息单播文件单传)。 阅读全文
posted @ 2012-05-27 00:51 inline 阅读(7609) 评论(5) 推荐(4) 编辑
摘要: 今天做一个三层项目,在后台更新用户信息,碰到了一个可空值类型的问题:LockDataTime,TestInt都是可以为空的,这个时候我们就要用到 DateTime? int? 这种可空值类型的用法了,现在我来总结一下它在三层项目中的使用: 阅读全文
posted @ 2012-05-18 00:38 inline 阅读(1091) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示