01 2017 档案
摘要:上一篇 看到了Action/Result过滤器的执行顺序: OnActionExecuting -> Action -> OnActionExecuted -> OnResultExecuting -> View-> OnResultExecuted 这一篇就来做几个例子吧. 一、Demo 上一篇
阅读全文
摘要:前面 的篇章, 解析了Action方法的查找, 以及 Authorize, Action, Result, Error 过滤器的加载时机. 也花了两篇去看授权和错误过滤器的使用. 但是对于 Action/Result 的执行以及Action/Result里面的两个过滤器的执行时机, 并没有清晰看到.
阅读全文
摘要:这几天老感觉不对, 总觉得少点什么, 今天才发现, 前面 3 里面, 在获取Action参数信息的时候, 少解析了. 里面还有一个比较重要的东西. 今天看也是一样的. 在 InvokeAction() 方法里面, 有一句代码: 这个是用来获取参数的. 那么参数是不是随便获取呢? 在Mvc 里面, 页
阅读全文
摘要:接 上一篇 内容, 这里先看一下错误处理过滤器. 在看此部分之前, 先看看MVC已经提供的功能吧. 一. MVC 自带功能 1. 配置方法 这里的mode默认是 Off , 就是会在页面中直接显示详细的错误信息. 如果是 On, 则不会显示详细的错误信息, 显示是这样的: 在没有配置具体 statu
阅读全文
摘要:从 上一篇 其实能看到, 程序执行的过滤器, 有四种 : 过滤器类型 接口 描述 Authorization IAuthorizationFilter 此类型(或过滤器)用于限制进入控制器或控制器的某个行为方法 Exception IExceptionFilter 用于指定一个行为,这个被指定的行为
阅读全文
摘要:接着上一篇, 在创建好Controller之后, 有一个 this.ExecuteCore()方法, 这部分是执行的. 那么里面具体做了些什么呢? 来看一下这里的 ExecuteCore具体是执行的那里的方法. 这个类应该还是蛮熟悉的吧, 我们创建的控制器类, 都会直接或者间接继承这个类. 一、解析
阅读全文
摘要:上一篇, 出现了一个至关重要的类:MvcHandler, 接下来就来看一下MvcHandler吧. 先不看具体方法, 先看一下类里面的情况. 从上面看, 有两种执行方式, 一种是同步的, 一种是异步的. 那默认情况下, 其实会走异步的方式. 但是这里呢, 我想用同步的方式去分析, 其实过程原理都是一
阅读全文
摘要:上一篇 说到了路由事件注册以及路由表的生成, 前面 也解析到了, 管道事件的建立, 那么接下来, 肯定就是要调用执行这些事件了, 这些就不表了, 我已经得到我想要的部分了, 接下来, 在执行这些管道事件的时候, 肯定就会执行到之前 UrlRoutingModule注册的方法. 接下来, 就看一下,
阅读全文
摘要:从前面篇章的解析, 其实能看的出来, IHttpModule 可以注册很多个, 而且可以从web.config注册, 可以动态注册. 但是有一个关键性的Module没有讲, 这里就先来讲一下这个关键性的Module -- UrlRoutingModule 来看一下他的Init方法, 注册了什么进去.
阅读全文
摘要:先看一张图, 从这张图里, 能看到请求是如何从CLR进入HttpRuntime的. 一、AppManagerAppDomainFactory 看到这张图是从 AppManagerAppDomainFactory 开始的, 按照汤姆大叔博文中所说, 是在CLR初始化加载的时候, 来加载这个类的. 那么
阅读全文
摘要:上一篇说到了创建 HttpApplication 对象出来(就是上面这句话了), 那么在创建对象的时候, 做了些什么事情呢, 是不是只是创建了对象而已呢, 继续分析. 1. 先来看一下EnsureInited方法, 看看里面做了些什么. 加锁的方式, 初始化了一些东西, 但是从这里并不能看出是初始化
阅读全文
摘要:本来这一篇, 是要继续 Pipeline 的, 但是在 Pipeline之前, 我看到了InitModules()方法, 所以决定, 在中间穿插一篇进来. 这一篇来讲一下 IHttpModule 的加载时机, 以及怎么动态注册 HttpModules. 一. 经典模式下的 InitModules 方
阅读全文
摘要:接上一篇, 我在 HttpModule 的Init方法中, 添加了自己的事件, 在Pipeline里, 就会把握注册的事件给执行了. 那么Pipeline是如何执行并且按照什么顺序执行的呢? 现在我们重新回到HttpApplication.InitInternal()方法中来. 注: Integra
阅读全文
摘要:尽管MVC6和MVC4,5已经有很大不同, 但是, 作为一个普通开发人员, 还真没有资格去选择使用哪个版本. So, 尽管已经是old的版本, 还是再次花点时间去温故知新. 我记得在15年初的时候, 在阅读MVC4源码的时候, 我画了一张很大的源码图, 自以为就比较了解mvc运行原理了, 现在回想一
阅读全文
摘要:这一篇是转载自汤姆大叔的一篇随笔. IIS 5 的 ASP.net 请求处理过程 IIS5核心特征是:IIS是允许在一个叫InetInfo.exe的进程上的,所以无论是aspx页面还是html页面都是通过这个进程处理的,其中,由于aspx页面扩展名映射到了aspnet ISAPI.DLL上,所以如果
阅读全文
摘要:之前对于配置并没有结束, 中间插了一个demo进去, 能够更直观的看到日志是怎么使用的. 这一篇, 我加了一些自己的东西进去, 可以更直观的来理解这些配置内容. 这里就继续介绍配置文件中的内容. 1. <log4net> 标签 支持的属性: 支持的元素: 2. <root>标签 根元素, 其他所有的
阅读全文
摘要:上一篇, 都是从别人那里拷过来的, 主要是介绍规则和说明的. 这一篇, 才是重点, 讲实际使用. 首先介绍项目中最常用的配置文件方式. 一、log4net.config 文件方式 我习惯, 把log4net的配置, 放在一个单独的配置文件中, 而不是放在 app.config或者web.config
阅读全文
摘要:项目过程中, 不可避免的, 需要使用到日志功能. 在我接触过的项目中, 也有自己弄一套日志的, 但是更多的, 还是使用别人成熟的dll, 比如log4. log4相关的文档, 真是非常的多, 也非常的全, 但是本着温故而知新的目的, 还是想把这个过一遍. 先放一个小Demo在上面 主要有五个组成部分
阅读全文
摘要:Autofac前面写了那么多篇, 其实就是为了今天这一篇, Autofac在MVC和WebApi中的应用. 一、目录结构 先看一下我的目录结构吧, 搭了个非常简单的架构, IOC(web), IBLL, BLL, IDAL, DAL, Helper 我里面都是为了实现Say方法的. ITestDal
阅读全文
摘要:WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉都不怎么好. 先贴一下, 网上给的常用方法吧. 方法一:(改配置法) 找到Global.asax文件,在Application_Start()方法中添加一句: 这样返回的结果就都是json类型了,但有个不
阅读全文
摘要:记得在做项目的时候, 听到过一句话, 尽量不要使用子查询, 那么这一篇就来看一下, 这句话是否是正确的. 那在这之前, 需要介绍一些概念性东西和mysql对语句的大致处理. 当Mysql Server的连接线程接收到Client发送过来的SQL请求后, 会经过一系列的分解Parse, 进行相应的分析
阅读全文

浙公网安备 33010602011771号