ASP.NET MVC 3:缓存功能的设计问题】的更多相关文章

今天这一篇文章我来谈一谈在MVC 3项目中的缓存功能,以及针对缓存的一些设计上的考量,给大家参考参考. 为什么需要讨论缓存?缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例如数据库),我们一般会考虑将一些更新不是很频繁的,可以重用的数据,通过一定的方式临时地保存起来,后续的请求根据情况可以直接访问这些保存起来的数据.这种机制就是所谓的缓存机制. 根据缓存的位置不同,可以区分为: ①客户端缓存(缓存在用户的客户端,例如浏览器中) ②服务器缓存(缓存在服务器中,可以缓存在…
ASP.NET MVC 学习笔记-7.自定义配置信息   ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettings> 2 <add key="LogInfoProvider" value="Cookie" />//登录信息保存方式 3 </appSettings> 但是这些配置都是单个字符串信息,在某些情况下,无法做到灵活配置. 针对这种情况,使用…
这是非常详尽的asp.net mvc中的outputcache 的使用文章. [原文:陈希章 http://www.cnblogs.com/chenxizhang/archive/2011/12/14/2288062.html] 前言 为什么需要讨论缓存?缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例如数据库),我们一般会考虑将一些更新不是很频繁的,可以重用的数据,通过一定的方式临时地保存起来,后续的请求根据情况可以直接访问这些保存起来的数据.这种机制就是所谓的缓存…
Web缓存分为服务端缓存和客户端缓存. 1 服务端缓存 1.1请求域内的缓存:HttpContext.Items 类型: HttpContext.Items的类型为IDictionary,且键和值都是object类型 访问性: 只存在于当前请求范围内. 例: HttpContext.Items["key"] ="value"; var value = HttpContext.Items["key"]; 1.2用户域内的缓存:HttpContext…
KindEditor是一套开源的HTML可视化编辑器,现在我要结合Asp.Net MVC4 上传图片功能,做相应的配置和修改, 其实网上也有人写过类似的文章了,我写出来是以防以后使用的时候出现这样的问题,所以收集起来做参考之用, 如果有人遇到这样的问题,可以和我一起交流,qq号在我博客上已经贴出来了. 下面就开始贴出我的源代码: js: var keditor; var koption = { allowFileManager: true, //是否可以浏览上传文件 allowUpload: t…
今天开发一个设计一个统计在线人数的统计.实现方式是在MVC 中,用户次执行一个Action请求完成后,向数据表中插入一条用户心跳记录,统计在线人数则是根据该记录,30分钟内有记录的用户则为在线状态. 首先设计表心跳记录表结构MOdel 接下来添加 CheckACAttribute 类继承 ActionFilterAttribute基类,并在FilterConfig类中注册. public class FilterConfig    {        public static void Regi…
在设计程序.系统框架或者类时,最主要考虑的事情就是代码的可扩展性,而不是完成功能即可.因此,提倡使用面向对象设计的最佳实践和基本原则. 1.       单一职责原则(SRP:The Single Responsibility Principle) 对象应承担单一的责任,它们的行为应该关注在它的责任上.比如,视图应该只关注UI的渲染,而不需要任何数据访问逻辑. 通常,代码中要提防的是名称为XXXManager的类,这种类可能包含了更多的职责. 2.       开放封闭原则(OCP:Open C…
View中代码: <input type="text" class="searchText" id="searchText"/> <input type="button" value="" onclick="Cheak()" class="searchBtn" id="searchBtn"/> <script type…
1.定义一个分页用的Page<T>类 1 /* 使用示例: 2 var pager = new Pager<Article>( 3 this.ControllerContext, //上下文 4 type.Articles,//数据源 5 10//,每页大小 6 //"page" url中分页参数名称,默认为page 7 ); 8 * */ 9 /// <summary> 10 /// 基于ControlerContext的分页辅助类 11 ///…
在任务中需要实现点击浏览器back按钮,加载的前一页面需要强制刷新. 想要在前端通过js来绑定数据实现,但是觉得太麻烦,还是用另一种方式来解决: 不缓存该页面. 简单易懂: Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.Cache.SetNoStore();…
1.定义一个分页用的Page<T>类 /* 使用示例: var pager = new Pager<Article>( this.ControllerContext, //上下文 type.Articles,//数据源 10//,每页大小 //"page" url中分页参数名称,默认为page ); * */ /// <summary> /// 基于ControlerContext的分页辅助类 /// </summary> /// <…
msdn 参考地址:https://msdn.microsoft.com/zh-cn/library/ms229862 4.5 第一步:32bit%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regsql.exe 64bit%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regsql.exe 第二步(第一种方案):32%windir%\Microsoft.NET\Framework\…
http://www.cnblogs.com/mysweet/archive/2012/07/26/2610793.html…
Adding Validation to the Model ,在Model中添加数据验证 参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-validation-to-the-model 本文内容: 这一节我们在Movie Model中添加逻辑验证(validation logic),从而确保我们在页面中新增和编辑的时候录入的数据是正确的合法的. ASP.NET MVC一个核心的代…
一.概述 1.单元测试的NUnit, MBUnit, MSTest, XUnit以及其他的框架 2.ASP.NET MVC 应用的默认目录结构有三个顶层目录: Controllers.Models.Views,控制器类置于 /Controllers 目录之中,数据模型类置于/Models目录之中,视图模板置于 /Views 目录之中. ASP.NET MVC框架并不强迫你总是使用这个结构. 二.URL映射到Controller类 1.把URL映射到Controller类 在大多数web框架(AS…
ASP.NET MVC小论 2008-12-04 11:11 by T2噬菌体, 8052 visits, 网摘, 收藏, 编辑 摘要:ASP.NET MVC作为微软官方的.NET平台下MVC解决方案,自诞生起就吸引了众多.NET平台开发人员的眼球.在经历了漫长Preview后,上个月微软终于发布了其beta版.ASP.NET MVC从一开始的设计思路就与Struts不同,它的映射是利用路由配置而非xml,从而大大降低了开发复杂度,并且比Struts要更直观,更容易上手.可是,这并不表明ASP.…
最近给SpaceBuilder增加OutputCache 时发现了一些问题,贴在这做个备忘,也方便遇到类似问题的朋友查阅. 目前SpaceBuilder表现层使用是asp.net mvc v1.0,使用了很多RenderAction(关于asp.net mvc的Partial Requests参见Partial Requests in ASP.NET MVC).希望对于实时性要求不高的内容区域采用客户端缓存来提升性能同时也弥补一下RenderAction对性能的损失. 使用asp.net mvc…
当使用ASP.NET MVC的Area功能时,出现了这样的错误: Multiple types were found that match the controller named 'Home'. This can happen if the route that services this request ('{controller}/{action}/{id}') does not specify namespaces to search for a controller that matc…
上一篇文章介绍了使用Authorize特性实现了ASP.NET MVC中针对Controller或者Action的授权功能,实际上这个特性是MVC功能的一部分,被称为过滤器(Filter),它是一种面向切面编程(AOP)的实现,本章将从以下几个方面来介绍ASP.NET MVC中的过滤器. ● ASP.NET MVC 中的过滤器及其类型 ● ASP.NET MVC 中常用的过滤器 ● ASP.NET MVC 过滤器的应用方法 ● ASP.NET MVC Action方法的调用与Filter的执行…
在做Asp.Net MVC项目中,都知道View负责页面展示数据或者提供页面收集数据,而所展示的数据或者收集的数据都是从Controller的Action中获取或提交到Controller的Action. 这里的数据,可能是基础类型,或者是Model,或者是Model的部分内容,或者是集合比如List或Dictionary. 数据从View传递到Controller的Action时,有几种方式,RouteData(url中的路由数据),QueryString(http get的查询参数如?pag…
Asp.Net MVC 缓存: 1. 可以直接在Controller,Action上面定义输出缓存OutputCache,如下,第一次请求这个Index的时候,里面的代码会执行,并且结果会被缓存起来,然后在30秒钟内,第二个或者后续的请求,就不需要再次执行,而是直接将结果返回给用户即可 [OutputCache(Duration = ,VaryByParam="none")] public ActionResult Index(string name) { return View();…
ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装          (5):前台Jquery easyUI实现  (6):EF上下文实例管理   (7):DBSession的封装   (8):DBSession线程内唯一         (9):TT摸版的学习   (10):VSS源代码管理   (11):验证码实现和底层修改  (12):实现用户异步…
应该说,缓存的设计是一门较为复杂的学问,主要考虑的问题包括:要不要缓存?要缓存哪些数据?要缓存多少数据?要缓存多久?如何更新缓存(手动还是自 动)?将缓存放在哪里?本文将以较为通俗易懂的方式,来看一看在MVC3的项目中,如何使用缓存功能.对于上述提到的一些具体业务问题,我这里不会进行太 过深入地探讨. 为什么需要讨论缓存?缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例如数据库),我们一般会考虑将一些更新不是很 频繁的,可以重用的数据,通过一定的方式临时地保存起来,后…
反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)   背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮币”.为了增加趣味性,帮帮币“掉落”之后所有用户都可以“捡取”,谁先捡到归谁. 但这样就产生了一个问题,因为这个“帮帮币”是可以买卖有价值的,所以难免会有恶意用户用爬虫不断的扫描,导致这样的情况出现: 注:经核实,乔布斯的同学 其实没有用爬虫,就是手工点,点出来的!还能说什么呢?只能表示佩服啊佩服……
根据缓存的位置不同,可以区分为: ①客户端缓存(缓存在用户的客户端,例如浏览器中) ②服务器缓存(缓存在服务器中,可以缓存在内存中,也可以缓存在文件里,并且还可以进一步地区分为本地缓存和分布式缓存两种) 应该说,缓存的设计是一门较为复杂的学问,主要考虑的问题包括:要不要缓存?要缓存哪些数据?要缓存多少数据?要缓存多久?如何更新缓存(手动还是自动)?将缓存放在哪里?本文将以较为通俗易懂的方式,来看一看在MVC4的项目中,如何使用缓存功能.对于上述提到的一些具体业务问题,我这里不会进行太过深入地探讨…
Part 3: 设计逻辑层:核心开发 如前所述,我们的解决方案如下所示: 下面我们讨论整个应用的结构,根据应用中不同组件的逻辑相关性,分离到不同的层中,层与层之间的通讯通过或者不通过限制.分层属于架构风格,在应用的长时间生命周期中,解决维护和扩展问题.所以,让我们在解决方案中添加一个类库项目,命名为 Application.Common. Application.Common : 这是一个类库项目, 提供公共功能,可以被不同的业务逻辑层使用.例如:安全,日志,跟踪,验证等等. 定义在这个层中的组…
原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockoutjs and Bootstrap Part 1: 创建 Web Application (Knockout.js, Asp.Net MVC and Bootstrap): 前端设计 在开始 UI 部分之前,我们先看一下在 ASP.NET MVC4 中使用 Knockoutjs 和 Bootstrap…
原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 另一种 MVC 应用程序: 简介 站点总是快速成长,一旦开始成长,站点就变得很难开发,组织和维护.所以在我们增加功能或者开发项目的时候,缺乏设计的大型网站会变得失去控制.这里要说的是站点的架构设计必须简单,容易被任何设计者理解 ( 从初级开发者到中级开发者 ),以及…
在当前很多的GPS平台当中,有很多是基于asp.NET+siverlight开发的遗留项目,代码混乱而又难以维护,各种耦合和关联,要命的是界面也没见到比Javascript做的控件有多好看,随着需求的增多,平台已经臃肿不堪. 设计基于.NET的GPS部标平台,我们坚定不移的选择了基于JQUERY+Asp.NET MVC来作为前端交互和后台处理的框架.选用一个灵活的脚手架,同时团队又能掌握这个脚手架为团队所用. 对于一个web应用项目,基于MVC的框架,前面文章提到过,最大的优点就是结构清晰,强制…
[ASP.NET MVC] 使用CLK.AspNet.Identity提供依权限显示选单项目的功能 CLK.AspNet.Identity CLK.AspNet.Identity是一个基于ASP.NET Identity扩展设计的验证授权模块,这个模块提供以角色为基础的访问控制(Role-based access control, RBAC),将系统授权拆解为User(使用者).Role(角色).Permission(权限).让开发人员可以在系统内,定义用户属于哪个角色.哪个角色拥有那些权限.权…