ASP.NET MVC 3 网站优化总结(五)视图的优化


ASP.NET MVC 3 中对视图引擎适当的优化也会提高网站的性能,今天就让我们看看关于视图引擎的优化,最后再简单说下网站发布时注意 Release 版本的生成。

1.禁用不用的视图引擎

ASP.NET MVC 3 在缓存方面做得非常好,它会缓存视图、局部视图等,但一个例外是内置的 display/editor 模板。当我们使用 Html.EditorFor 或 Html.DisplayFor 方法时,MVC 会查找所有的视图模板来创建合适的标记,这样会影响到运行时的性能。我们可以使用下边的代码指定我们需要的视图引擎,如我使用的是 Razor:


        protected void Application_Start()
        {
            //移除不用的视图引擎
            ViewEngines.Engines.Clear();
            //添加Razor
            ViewEngines.Engines.Add(new RazorViewEngine());


2.避免传递 null 实体到视图

实体为 null 时,会抛出 NullReferenceException 异常。如下图:

ASP.NET MVC 3 实体为 null

我们可以在传递前实例化一个实体,这样可提高性能,如下:

public ActionResult Index() 
{
   
//return View(); //model 默认为null
   
return View(new Account());
}

3.应该发布 Release 版本

在发布 ASP.NET MVC 3 项目时,我们应该注意将项目生成 Release 版本的,它相对于 Debug 版本做了很多的优化,这样可提高运行效率。对比两个版本的 dll 文件,可发现 Release 版本的文件相对要小一些。在 VS “生成” ->“配置管理器”中可进行配置,如下图:

ASP.NET MVC 3 生成 Release 版本

上传程序时应该确保将 Web.config 中 compilation节点 的 debug 值设置为 false,如下:

<compilation debug="false" targetFramework="4.0">
</compilation>

关于 ASP.NET MVC 3 项目中的一些基本优化知识就小结到这里,可以看到很多和 ASP.NET 早期项目一样。关于数据读取方面在这里没有过多的提及,我们应该记得添加索引等等优化知识,在项目开发过程中始终考虑优化,确保最终项目的运行效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值