12 2012 档案

Asp.net cookie的处理流程你真的知道吗?
摘要:一说到Cookie我想大家都应该知道它是一个保存在客户端,当浏览器请求一个url时,浏览器会携带相关的Cookie达到服务器端,所以服务器 是可以操作Cookie的,在Response时,会把Cookie信息输出到客服端。下面我们来看一个demo吧,代码如下:第一次请求结果如下:第二次请求结果如下:到这里我们可以看到第二次请求传入的Cookie正好是第一次请求返回的Cookie信息,这里的cookie信息的维护主要是我们客户端的浏览器,但是在Asp.net程序开发时,Cookie往往是在服务端程序里面写入,就如我的事例代码;很少有用客服端js实现的。现在我们就来看看asp.net服务端是如何实 阅读全文

posted @ 2012-12-17 20:28 dz45693 阅读(4013) 评论(2) 推荐(3) 编辑

asp.net 动态创建TextBox控件 如何加载状态信息
摘要:接着上文Asp.net TextBox的TextChanged事件你真的清楚吗? 这里我们来说说状态数据时如何加载的。虽然在Control中有调用状态转存的方法,但是这里有一个判断条件 if (_controlState >= ControlState.ViewStateLoaded)一般的get请求这里的条件是不满足的。internal enum ControlState{ Constructed, FrameworkInitialized, ChildrenInitialized, Initialized, ViewStateLoaded, Loaded, PreRendered}我 阅读全文

posted @ 2012-12-11 15:55 dz45693 阅读(3354) 评论(9) 推荐(1) 编辑

Asp.net TextBox的TextChanged事件你真的清楚吗?
摘要:在博客园里有位兄弟问了我一个问题,动态创建的控件是如何加载视图状态,还提到ProcessPostData方法的调用。这里我就用TextBox的TextChanged事件来说说视图数据的加载以及事件的触发。我们首先还是来看一个demo吧:代码如下:运行结果如图:现在我们来修改文本框的值,然后点击按钮提交页面,看看有什么事情发生TextBox的TextChanged事件这时候发生了,运行结果如图:现在我们什么也不做,再次点击按钮提交,看看会有什么效果:这是为什么了,TextBox的TextChanged事件这时候没有触发。大家是否知道TextBox的TextChanged事件触发的条件了,那好我们 阅读全文

posted @ 2012-12-10 16:50 dz45693 阅读(6780) 评论(11) 推荐(3) 编辑

Asp.net web Api源码分析-ParameterBindingAttribute
摘要:在前面数据绑定中我们曾提到一个FromUriAttribute类,它 集成于ModelBinderAttribute,而ModelBinderAttribute又继承 ParameterBindingAttribute,ParameterBindingAttribute类就一个空方法没什么实现,这里主要的实现在 ModelBinderAttribute类里面,其主要方法是GetBinding,public override HttpParameterBinding GetBinding(HttpParameterDescriptor parameter) { HttpConfiguration 阅读全文

posted @ 2012-12-07 16:18 dz45693 阅读(3305) 评论(0) 推荐(0) 编辑

asp.net Page事件处理管道
摘要:我们知道页面就是一个处理程序,里面的实现非常复杂,网上也有很多资料讲到asp.net的管道处理,有关page的事件处理也不少;这里我就page的事件处理结果如图:这里的总结来至asp.net本质论。我们也知道page的处理都集中在一个ProcessRequest方法中,该方法最终主要还是调用ProcessRequestMain方法。其主要实现如下:private void ProcessRequestMain(bool includeStagesBeforeAsyncPoint, bool includeStagesAfterAsyncPoint){ try { Ht... 阅读全文

posted @ 2012-12-07 13:05 dz45693 阅读(4133) 评论(9) 推荐(1) 编辑

Asp.net web Api源码分析-HttpResponseMessage
摘要:紧接着上文Asp.net web Api源码分析-Action的执行 我们的Action已经执行完毕,现在需要把Action的返回结果转化为HttpResponseMessage 实例,我们也知道转化工作主要在HttpRequestMessage的CreateResponse附加方法中, public static HttpResponseMessage CreateResponse<T>(this HttpRequestMessage request, HttpStatusCode statusCode, T value, HttpConfiguration configurat 阅读全文

posted @ 2012-12-06 20:12 dz45693 阅读(8612) 评论(0) 推荐(1) 编辑

Asp.net web Api源码分析-Action的执行
摘要:紧接着上文Asp.net web Api源码分析-HttpParameterBinding 我们已经把Action调用的参数准备好了,现在就该开始调用Action了,这里的 InvokeActionWithActionFilters(ApiController的ExecuteAsync方法)主要就是负责调用 ActionFilters和Action的,这里的调用模式和mvc中的调用方式一致。这里filiter的调用就不多说,我们来看看Action的调 用controllerServices.GetActionInvoker().InvokeActionAsync(actionContext, 阅读全文

posted @ 2012-12-05 21:06 dz45693 阅读(3783) 评论(0) 推荐(0) 编辑

Asp.net web Api源码分析-HttpParameterBinding
摘要:接着上文Asp.net web Api源码分析-Filter 我们提到filter的获取和调用,后面通过HttpActionBinding actionBinding = actionDescriptor.ActionBinding;来获取HttpActionBinding实例,然后调用 HttpActionBinding的ExecuteBindingAsync方法来绑定Action参数。HttpActionDescriptor中 定义了ActionBinding属性,默认的实现代码:ServicesContainer controllerServices = _controllerDescr 阅读全文

posted @ 2012-12-05 17:24 dz45693 阅读(3587) 评论(1) 推荐(1) 编辑

Asp.net web Api源码分析-Filter
摘要:紧接着上文Asp.net web Api源码分析-HttpActionDescriptor的创建 HttpActionDescriptor现在已经创建好了,在这里个人再次提醒一下,建议大家在路由的时候写上Action参数,如api/{controller}/{action}/{id}而不要忽略Action参数写成api/{controller}/{id}。现在我们回到ApiController的ExecuteAsync方法中来,接下来就是利用新建的HttpActionDescriptor来创建一个HttpActionContext实例,然后通过 IEnumerable<FilterInf 阅读全文

posted @ 2012-12-05 11:53 dz45693 阅读(4021) 评论(1) 推荐(0) 编辑

Asp.net web Api源码分析-HttpActionDescriptor的创建
摘要:紧接着上文Asp.net web Api源码分析-HttpControllerDispatcher (Controller的创建)这里已经创建好了IHttpController,现在让我们来看看它的ExecuteAsync方法,这个方法很是复杂啊。 public virtual Task<HttpResponseMessage> ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken) { if (_request != null) ... 阅读全文

posted @ 2012-12-04 21:53 dz45693 阅读(3710) 评论(2) 推荐(0) 编辑

Asp.net web Api源码分析-HttpServer的创建
摘要:紧接着前文Asp.net web Api源码分析-HttpRequestMessage的创建 HttpRequestMessage实例已经创建好了,现在我们来看看 Task responseBodyTask = _server.Value.SendAsync(request, CancellationToken.None) .Then(response => ConvertResponse(httpContextBase, response, request));这里的_server.Value.SendAsync是真正处理http请求的,ConvertResponse只是处理结果而已的 阅读全文

posted @ 2012-12-03 18:42 dz45693 阅读(3427) 评论(0) 推荐(1) 编辑

Asp.net web Api源码分析-HttpRequestMessage的创建
摘要:紧接着前文Asp.net web Api源码分析-如何获取IHttpHandler 我们已经得到了HttpControllerHandler实例,它是一个IHttpAsyncHandler类型,我们来看看它的BeginProcessRequest方法是如何实现: protected virtual IAsyncResult BeginProcessRequest(HttpContextBase httpContextBase, AsyncCallback callback, object state) { HttpRequestMessage reques... 阅读全文

posted @ 2012-12-03 15:17 dz45693 阅读(6706) 评论(2) 推荐(2) 编辑

Asp.net web Api源码分析-如何获取IHttpHandler
摘要:我们知道任何asp.net web程序的处理都是由IHttpHandler来实现的,那么这里我看看web api是如何让获取IHttpHandler的。这里假设你已经能熟练的使用web api,我还是沿用以前的风格以一个简单的demo来说明吧。默认在我们的Global.asax.cs有这么一句 WebApiConfig.Register(GlobalConfiguration.Configuration);而WebApiConfig.Register的默认实现也很简单:public static void Register(HttpConfiguration config) { config. 阅读全文

posted @ 2012-12-03 12:35 dz45693 阅读(4890) 评论(13) 推荐(1) 编辑

Asp.net Web Api源码调试
摘要:前端时间写了有关mvc3源码的一些杂事,看了mvc4里面也没有太多的变化;最近看了web Api的源码感觉不错,于是打算写写关于web api源码的一些事宜。有关web api的一些使用我就不多说了,大家可以看看ASP.NET Web API系列教程目录大家如果需要下载mvc4或则web api源码可以看aspnetwebstack.codeplex.com这里我们主要是说web api的调试,web api主要需要的dll是System.Net.Http.Formatting.dll,System.Web.Http.dll,System.Web.Http.WebHost.dll如图:这里的每 阅读全文

posted @ 2012-12-02 23:20 dz45693 阅读(4473) 评论(1) 推荐(3) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示