随笔分类 - C#
摘要:通过前一篇文章,我们对MVC有了一定的了解。 三、MVC能做什么 网站——服务器返回页面——实际上就是一段文本(response header+html)。 实际上mvc的action可以返回一切东西:页面 字符串 json xml file 图片。。。 与webapi的区别:其实也一样,因为二者都
阅读全文
摘要:通过前篇MVC处理程序&Asp.Net路由机制我们了解了MVC路由解析及控制器创建。 得到控制器之后就是执行了 // System.Web.Mvc.IController /// <summary>Executes the specified request context.</summary> /
阅读全文
摘要:通过Asp.Net构架(Http请求处理流程)、HttpApplication处理对象与HttpModule处理模块、Asp.net 处理程序&处理程序接口IHttpHandler 前面三篇我们了解了Http请求在服务器端的处理流程,Http请求最终会由实现了IHttpHandler接口的类进行处理
阅读全文
摘要:通过Asp.Net构架(Http请求处理流程)和HttpApplication处理对象与HttpModule处理模块前面两篇我们了解了Http请求在服务器端的处理流程,Http请求最终会由实现了IHttpHandler接口的类进行处理,针对不同的请求,Asp.net要有不同的处理。通常情况下,HTT
阅读全文
摘要:处理管道,就是处理复杂问题的时候,将处理的过程分解为多个处理步骤,我们将这种经过多个步骤的处理方式称为处理管道。在.Net中,借助于事件的强大威力,我们可以通过处理管道将复杂的处理步骤封装起来,通过事件将处理过程的多个步骤暴露给程序员,以便于程序员对管理管道进行扩展。 简单描述一下Asp.net处理
阅读全文
摘要:Http请求处理流程概述 当用户在浏览器输入一个URL地址后,浏览器会发送一个请求到服务器。这时候在服务器上第一个负责处理请求的是IIS。然后IIS再根据请求的URL扩展名将请求分发给不同的ISAPI处理,然后,IIS 接收返回的数据流,并重新返还给 HTTP.SYS,最后,HTTP.SYS 再将这
阅读全文
摘要:一、MVC和WebApi路由机制比较 1、MVC里面的路由 在MVC里面,默认路由机制是通过url路径去匹配对应的action方法,比如/Home/Index这个url,就表示匹配Home这个Controller下面的Index方法,这个很好理解,因为在MVC里面定义了一个默认路由,在App_Sta
阅读全文
摘要:Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术
阅读全文
摘要:"Web Service" 是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序 WebService:寄宿在IIS,也就是必须在网站项目 五大对象 1
阅读全文
摘要:一、内存上连续存储,节约空间,可以索引访问,读取快,增删慢 Array:在内存上连续分配的,而且元素类型是一样的,可以坐标访问;读取快 增删慢,长度不变 ArrayList:不定长的,连续分配的;元素没有类型限制,任何元素都是当成object处理,如果是值类型,会有装箱操作;读取快 增删慢 List
阅读全文
摘要:JsonSerializerSettings常用配置整理 1.忽略某些属性 MemberSerialization.OptIn 默认情况下,所有的成员不会被序列化,类中的成员只有标有特性JsonProperty的才会被序列化,当类的成员很多,但客户端仅仅需要一部分数据时,很有用 1 [JsonObj
阅读全文
摘要:那么什么时候能用多线程? 任务能并发的时候 多线程能干嘛?提升速度/优化用户体验 网站首页:A数据库 B接口 C分布式服务 D搜索引擎,适合多线程并发,都完成后才能返回给用户,需要等待WaitAll列表页:核心数据可能来自数据库/接口服务/分布式搜索引擎/缓存,多线程并发请求,哪个先完成就用哪个结果
阅读全文
摘要:同步方法 1 Console.WriteLine($"****************Sync Start {Thread.CurrentThread.ManagedThreadId.ToString("00")} {DateTime.Now.ToString("yyyy-MM-dd HH:mm:s
阅读全文
摘要:Parallel并发执行多个任务 多线程的,主线程会参与计算 阻塞界面等于TaskWaitAll+主线程计算 常用方法 1、Invoke 尽可能并行执行提供的每个操作 1 Console.WriteLine("***************Parallel.Invoke Start*********
阅读全文
摘要:Task是.NetFramework3.0出现的,线程是基于线程池,然后提供了丰富的API TaskFactory 提供对创建和计划 Task 对象的支持 创建和启动异步任务 1、Task task = new Task(() => ThreadPoolHelper.DoSomeThing());
阅读全文
摘要:Thread与ThreadPool Thread: .NetFramework1.0 对线程对象的一个封装 Thread方法很多很强大,但是太过强大,而且没有限制 功能繁多,反而用不好--就像给4岁小孩一把热武器,反而会造成更大的伤害 对线程数量是没有管控的 ThreadPool:.NetFrame
阅读全文
摘要:Thread 创建和控制线程,设置其优先级并获取其状态 Thread构造函数接收一个无参数或带一个object类型参数的委托 1 { 2 Console.WriteLine("********ManagedThreadId:{0} {1}********", Thread.CurrentThread
阅读全文
摘要:使用EntLib\PIAB Unity 实现动态代理 1 using System; 2 using Unity; 3 using Unity.Interception; 4 using Unity.Interception.Interceptors.InstanceInterceptors.Int
阅读全文
摘要:表达式树是定义代码的数据结构。 它们基于编译器用于分析代码和生成已编译输出的相同结构。 几种常见的表达式 BinaryExpression 包含二元运算符的表达式 1 BinaryExpression binaryExpression = Expression.MakeBinary(Expressi
阅读全文
摘要:一、Lambda演变历史 Lambda 1.0 普通方法 private void DoNothing() { Console.WriteLine("This is DoNothing"); } private void Study(int id, string name) { Console.Wr
阅读全文

浙公网安备 33010602011771号