mvc性能优化
mvc性能优化
(1)移动设备卡顿问题
-1请求方式
在mvc中GET请求有问题,出现错误
在MVC中在进行GET请求获取JSON数据时,需要进行如下设置:
return Json("",JsonRequestBehavior.AllowGet);
建议:在进行Ajax请求时,是什么请求方式,请采取对应的方式来进行请求
—2请求路径
在实际开发中我们可能会经常这样做:我们将需要用到的一些脚本方法,比如格式日期转换,获取cookie等封装在一个公用脚本中来方便调用。
在脚本中进行请求时我们一般进行如下:

$(function () {
type: 'get',
url: "/home/Info",
data: {},
success: function () { },
dataType: "application/json"
});
});

同事这样做的,将请求路径写在公用脚本中如下:
var path = "/"
此时我们的请求就变成了这样:

$(function () {
$.ajax({
type: 'get',
url: path + "home/Info",
data: {},
success: function () { },
dataType: "json"
});
});
建议使用第一种方法,至此也就大致上解决了在手机上滑动时卡顿的问题,当然也不排除脚本写的有问题的情况。
缓存
在页面请求时为了那些不会改变的脚本或者数据从而加快页面加载速度,我们通常使用缓存来解决。
脚本、样式缓存
get或post快慢问题-他人看法
1.请求响应速度的快慢与get或post请求方式肯定是无关的,post请求从协议上来说也就比get请求多两个换行符,网络传输、以及服务端的协议解析可以忽略。如果响应慢需要查明原因的话,建议进行日志跟踪以及抓包分析一下。
2.关于缓存的问题。
“ 在进行请求时,有些不会改变的脚本我们需要进行缓存,而不是每请求一次而又重新加载一次,当然此时就有人想到了怎么样去缓存脚本的问题,比如如下:
<script src="~/Scripts/video.js?2016040901"></script> ”
这个理解是错的,这样做其实并不是为了做缓存,反而是为了强制进行缓存刷新,避免浏览器加载旧的缓存样式或脚本造成更新的页面出现问题(这种情况在使用CDN情况下特别明显)。静态资源不管是放IIS下还是用第三方云存储,其实都会默认开启缓存的,如果楼主想了解更深可以去研究一下Last-Modified,Etag,Expire 等http头,以及http相关的缓存控制就是304啦。
如果你的网站的访问量大,强烈建议把静态文件进行单独布署,现在云存储、CDN都很便宜很方便,可以尝试一下。用完保证省心省力省时而且速度绝对飞快,就是废点钱(其实有流量了,这点钱真的小意思)。
页面级别的缓存其实并不是怎么推荐使用OutputCache来做,可控性太小自定义很麻烦。如果有页面缓存需要可以考虑静态化或部分静态化,当然自己做后端数据的缓存(如: memcached)会更靠谱一些。
3.忍不住吐糟一下,其实你这个些优化方面的问题本质 上和asp.net mvc没啥联系,是web开发中比较通用和常用的。
mvc性能优化的更多相关文章
- ASP.NET MVC性能优化工具 MiniProfiler
ASP.NET MVC性能优化工具 MiniProfiler 2014年04月19日 ⁄ ASP.NET ⁄ 共 1159字 ⁄ 字号 小 中 大 ⁄ 暂无评论 ⁄ 阅读 325 views 次 MV ...
- asp.net mvc 性能优化——(1)静态化
asp.net mvc 性能优化--(1)静态化 在改善页面性能的同时,可能会采用静态化的策略,对于不能实时静态化的内容,则采用缓存.本文主要讨论如何实现cshtml的静态化(实际上还不是完全的htm ...
- 记一次ASP.NET MVC性能优化(实际项目中)
前言 在开发中为了紧赶项目进度而未去关注性能的问题,在项目逐渐稳定下来后发现性能令人感到有点忧伤,于是开始去关注这方面,本篇为记录在开发中遇到的问题并解决,不喜勿喷.注意:以下问题都是在移动端上出现, ...
- 【转】记一次ASP.NET MVC性能优化(实际项目中)
前言 在开发中为了紧赶项目进度而未去关注性能的问题,在项目逐渐稳定下来后发现性能令人感到有点忧伤,于是开始去关注这方面,本篇为记录在开发中遇到的问题并解决,不喜勿喷.注意:以下问题都是在移动端上出现, ...
- ASP.NET MVC性能优化(实际项目中)
前言 在开发中为了紧赶项目进度而未去关注性能的问题,在项目逐渐稳定下来后发现性能令人感到有点忧伤,于是开始去关注这方面,本篇为记录在开发中遇到的问题并解决,不喜勿喷.注意:以下问题都是在移动端上出现, ...
- ASP.NET MVC之如何看待内置配置来提高性能优化(四)
前言 前几篇我们比较基础的讲了下MVC中的知识,这一节我们穿插点知识,讲讲MVC中我们可以提高性能的办法. Razor视图引擎优化(优化一) 我们知道默认情况下配置MVC去解析一个视图会首先约定通过查 ...
- 性能优化工具 MVC Mini Profiler
性能优化工具 MVC Mini Profiler MVC MiniProfiler是Stack Overflow团队设计的一款对ASP.NET MVC.WebForm 以及WCF 的性能分析的小程 ...
- 【前端构建】WebPack实例与前端性能优化
计划把微信的文章也搬一份上来. 这篇主要介绍一下我在玩Webpack过程中的心得.通过实例介绍WebPack的安装,插件使用及加载策略.感受构建工具给前端优化工作带来的便利. 壹 | Fisrt 曾几 ...
- EF6 的性能优化
引言 EntityFramework 6 作为微软的开源ORM框架,有着得天独厚的优势.微软也在MVC中主推EF做为ORM框架.但是在实际的项目开发中我们总是感觉到EF有些慢,或者有这样那样的问题.但 ...
随机推荐
- WordPress Lazy SEO插件lazyseo.php脚本任意文件上传漏洞
漏洞名称: WordPress Lazy SEO插件lazyseo.php脚本任意文件上传漏洞 CNNVD编号: CNNVD-201309-446 发布时间: 2013-09-26 更新时间: 201 ...
- HDOJ -- 4699
Editor Time Limit: 3000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Total Su ...
- HDU-2561 第二小整数
http://acm.hdu.edu.cn/showproblem.php?pid=2561 第二小整数 Time Limit: 3000/1000 MS (Java/Others) Memor ...
- ARM学习笔记14——C语言和汇编相互套用
这里,我们要准备两个文件,一个是汇编文件start.S,另一个是C文件led.c.汇编文件套用C文件中的开关灯函数,C文件套用汇编文件中延时函数. //start.S .global led_init ...
- 关于 Unity UGUI 中修改 Mask 组件下 Image 等子节点组件的材质无效的问题
前几天同事做了一个效果,希望在原本使用了遮罩组件 Mask 的技能图标(让技能图标变成圆形)上在添加一个置灰的功能,但问题来了:因为是动态根据游戏中玩家的条件才动态置灰,以修改 Mask 下子节点 I ...
- cygwin下安装hadoop0.20
安装时选择软件包: editor-两个VIM.base-SED.Net-OPENSSH.OPENSSL.libs-libintl3和libintl8 环境变量: path=%JAVA_HOME%\bi ...
- Asp.Net Design Pattern Studynotes -- Part1
Asp.Net Design Pattern Studynotes -- Part1 let's start with an exampleto entry amazing OO world ! le ...
- 【SQL】MySQL内置函数中的字符串函数和日期时间函数
字符串函数 --拼接字符串组成新的字符串 Select concat(‘A’,’B’); --返回字符串长度 Select length(“CAT”) --返回子字符串在字符串中首次出现的位置,没有返 ...
- java数据结构之hash表
转自:http://www.cnblogs.com/dolphin0520/archive/2012/09/28/2700000.html Hash表也称散列表,也有直接译作哈希表,Hash表是一种特 ...
- Cocos2d-js 3.0 alp2 使用指南
Download Cocos2d-JS: http://www.cocos2d-x.org/download Unzip and copy to C:/ Download JDK: http://ww ...