随笔分类 - .NET
摘要:出场: 首先我们来说说为什么需要label标签,虽然我们已经知道有break,continue跳出循环,但如果是多重循环那么它们就显的无能为力了,所以就出现了label这个标签来为我们服务。 我们先来看看单独使用break的情况 1 for(var i=0;i<4;i++){ 2 for(var j
阅读全文
摘要:NET性能优化方面的总结 从2004年底开始接触C#到现在也有2年多的时间了,因为有C++方面的基础,对于C#,我习惯于与C++对比。现在总结一些.NET方面的性能优化方面的经验,算是对这两年多的.NET工作经历的总结。 由于使用C#时间不长,欢迎各高手补充。 标有 ★ 表示特别重要,会严重影响性能
阅读全文
摘要:系列目录 Action全局观 在上一篇最后,我们进行到了Action调用的“门口”: 1 if (!ActionInvoker.InvokeAction(ControllerContext, actionName)) 在深入研究调用过程的细节前,先有一个总体的认识是很有帮助的。InvokeActio
阅读全文
摘要:系列目录 Action的定位 再次回到Controller的ExecuteCore方法,回到action调用的入口: 1 if (!ActionInvoker.InvokeAction(ControllerContext, actionName)) 这里的ActionInvoker是个IAction
阅读全文
摘要:系列目录 过滤器上下文参数 前一节提到了四种MVC内建过滤器,它们无一例外都在关键的方法中提供了叫filterContext的参数,尽管它们各自类型不同,但是都继承自ControllerContext。 其中一个共同的重要属性是: 1 2 3 4 public ActionResult Result
阅读全文
摘要:系列目录 回顾 系列的前4节深入剖析了ASP.NET URL路由机制,以及MVC在此基础上是如何实现Areas机制的,同时涉及到inbound和outbound很多细节部分。第2节中提到MvcRouteHandler是MVC框架的入口,这节开始,从MvcRouteHandler往下说开去。 Cont
阅读全文
摘要:系列目录 URL是如何通过路由表生成的(outbound) 通常我们被推荐在view设计时使用Html.ActionLink(…)产生链接,这样做的优势就是,url可以根据路由表生成。路由机制的另一个职责便是根据路由表生成url,而不是由我们手动编写。接下来深入分析一下其原理。 类似Html.Act
阅读全文
摘要:系列目录 DataTokens和Areas机制 到目前为止Route对象只剩下DataTokens属性没有涉及,事实上这个Areas机制的核心。 DataTokens实际上也是一个RouteValueDictionary,在用MapRoute方法构造在Route构造的时候,可以传一个namespac
阅读全文
摘要:系列目录 ASP.NET MVC请求的服务过程 下图是书中的截图,表述了一次通常的ASP.NET MVC请求的服务过程: 从图中可以初步看出一个HttpRequest是如何被ASP.NET和ASP.NET MVC框架执行的:经过IIS和ASP.NET处理后,Core Routing会首先根据URL匹
阅读全文
摘要:系列目录 请求是如何进入MVC框架的(inbound) 当一个URL请求到来时,系统调用一个注册的IHttpModules:UrlRoutingModule,它将完成如下工作: 一、在RouteTable.Route中从第一个Route开始查找第一个匹配当前URL的Route。需要同时满足下面的条件
阅读全文
摘要:学ASP.NET MVC2有一段时间了,也针对性的做了个练习。感觉这个框架还是不错的,所以决定要深入系统的学习一下。看到这样一本书: 作者博客:http://blog.stevensanderson.com/ csdn下载地址(免积分) 我不得不说这本书写的很好,尤其是通俗的语句和循序渐进的风格,很
阅读全文
摘要:一、简介 在Asp.net MVC实现的Comet推送的原理很简单。 服务器端:接收到服务器发送的AJAX请求,服务器端并不返回,而是将其Hold住,待到有东西要通知客户端时,才将这个请求返回。 客户端:请求异步Action,当接收到一个返回时,立即又再发送一个。 缺点:会长期占用一个Asp.net
阅读全文
摘要:一、路由 1、HttpApplication中的ASP.NET MVC .Net 3.5 引入了System.Web.Routing程序集,通过Url Routing的机制,可以实现将一个虚拟路径的请求映射到一个Action方法上。 在Asp.net MVC中,Route类指定Asp.net应用程序
阅读全文
摘要:一、MVC部署后直接显示文件列表,路由未生效,效果如下: 处理方法为:Web.Config修改一下配置: <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <modules runAllManag
阅读全文
摘要:一、系统过滤器使用说明 1、OutputCache过滤器 OutputCache过滤器用于缓存你查询结果,这样可以提高用户体验,也可以减少查询次数。它有以下属性: Duration:缓存的时间,以秒为单位,理论上缓存时间可以很长,但实际上当系统资源紧张时,缓存空间还是会被系统收回。 VaryByPa
阅读全文
摘要:一、路由规则说明 先来看MVC中的默认路由的说明 "{controller}/{action}/{id}", // URL with parameters 对于Url /Home/Index/1 匹配结果是: controller : "Home" action : "Index" Id : "1"
阅读全文
摘要:在WebForm,获取提交表单的值一般都是Request.Form["Title"]这样的方式。在MVC中,提供了模型绑定机制。让后台获取表单或Url中的参数变得更加简单。 一、基本模型绑定 你可以直接在参数中用字符串,整型变量,实体或者是List<实体>的方式获取表单提交的参数。 参数中的这些东西
阅读全文
摘要:前一篇说了MVC数据验证的例子,这次来详细说说各种各样的验证注解。System.ComponentModel.DataAnnotations 一、基础特性 一、Required 必填选项,当提交的表单缺少该值就引发验证错误。 二、StringLength 指定允许的长度 指定最大长度: [Strin
阅读全文
摘要:一、Html.BeginForm <form>标签 //视图代码 @using (Html.BeginForm("search", "home", FormMethod.Get),new { target="_black",@class="form1" }) { <input type="text"
阅读全文
摘要:一、所有的Controller都继承自System.Web.Mvc.Controller 目前ASP.NET MVC3默认提供了多种ActionResult的实现,在System.Web.Mvc命名空间里。 其中ActionResult是一个抽象类,所有一下的Result都继承自它,因此如果一个Ac
阅读全文