摘要:
.net的集合类型都是基于 ICollection 接口、IList 接口、IDictionary 接口,或其泛型集合中的相应接口。IList 接口和 IDictionary 接口都是从 ICollection 接口派生的;因此,所有集合都直接或间接基于 ICollection 接口。在基于 IList 接口的集合中(如 Array、ArrayList 或 List<T>)或直接基于 ICollection 接口的集合中(如 Queue、Stack 或 LinkedList<T>),每个元素都只包含一个值。在基于 IDictionary 接口的集合中(如 Hashtab 阅读全文
摘要:
1.Hash Join:The hash join executes in two phases: build and probe. During the build phase, it reads all rows from the first input (often called the left or build input), hashes the rows on the equijoin keys, and creates an in-memory hash table. During the probe phase, it reads all rows from the sec. 阅读全文
摘要:
一.使用注意 当 sp_executesql 或 EXECUTE 语句执行字符串时,字符串将作为它的自包含批处理执行。SQL Server 会将字符串中的一个或多个 Transact-SQL 语句编译为独立于批处理(包含 sp_executesql 或 EXECUTE 语句)执行计划的执行计划。下列规则适用于自包含批处理: 在执行 sp_executesql 或 EXECUTE 语句之前,不会将 sp_executesql 或 EXECUTE 字符串中的 Transact-SQL 语句编译到执行计划中。执行字符串之前,不会分析或检查其错误。执行时才对字符串中引用的名称进行解析。View Co. 阅读全文
摘要:
一.Http协议是无状态的: 也就是说,用户从A页面跳转到B页面会重新发送一次HTTP请求,而服务端在返回响应的时候是无法获知该用户在请求B页面之前做了什么的。 对于HTTP的无状态性的原因,相关RFC里并没有解释,但联系到HTTP的历史以及应用场景,我们可以推测出一些理由:1. 设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。那个时候没有动态页面技术,只有纯粹的静态HTML页面,因此根本不需要协议能保持状态;2. 用户在收到响应时,往往要花一些时间来阅读页面,因此如果保持客户端和服务端之间的连接,那么这个连接在大多数的时间里都将是空闲的,这是一种资源的无端浪费。所以HTT. 阅读全文
摘要:
加密和解密主要是为了实现能在消息的接受方和消息的发送方之间在不安全的网络上面实现消息的安全传递。怎么才算安全传递? 那么怎么样才能叫安全呢?消息在接收方和发送方进行安全传递,一般要满足下面三个要点:消息的发送方能够确定消息只有预期的接收方可以解密(不保证第三方无法获得,但保证第三方无法解密)。 消息的接收方可以确定消息是由谁发送的(消息的接收方可以确定消息的发送方)。 消息的接收方可以确定消息在途中没有被篡改过(必须确认消息的完整性)。 加密通常分为两种方式:对称加密和非对称加密,接下来我们先看看对称加密。 一.对称加密: 消息的接受方和消息的发送方同时持有一个私钥,消息的发送方在发送消息的时 阅读全文
摘要:
在园子里面看到这样一个话题:Hashtable与Dictionary<TKey,TValue>的一个有趣考题。代码如下:View Code 1 Hashtable与其泛型实现Dictionary<TKey,TValue>进行如下的判断是否正确? 2 3 Hashtable ht = new Hashtable(); 4 5 if (ht["name1"] == null) 6 7 { 8 9 Console.WriteLine("不存在键值为name1的值"); 10 11 }12 13 14 Dictionary<stri 阅读全文
摘要:
关于为什么使用异步Controller,这里不做备忘,三岁小孩都懂。主要的备忘是如何使用AsyncController。View Code 1 //这个action以Async结尾,并且返回值是void 2 public void TestAsync() 3 { 4 //实现异步action加计数1 5 AsyncManager.OutstandingOperations.Increment(); 6 FileStream fileStream = new FileStream(@"C:\Users\wuxq\Documents\Visual Studio 2010\Projects 阅读全文
摘要:
在Mvc源码的ControllerActionInvoker的InvokeAction方法里面有一个FindAction方法,FindAction方法在ControllerDescriptor里面定义为虚方法,而ReflectedControllerDescriptor是继承自ControllerDescriptor。其FindAction方法如下:View Code 1 public override ActionDescriptor FindAction(ControllerContext controllerContext, string actionName) { 2 if (con. 阅读全文
摘要:
在Mvc中有ExceptionFilter,当对controller或者action定义ExceptionFilter后,在执行方法抛出异常时,能在ExceptionFilter里面进行逻辑处理,当设置Exception-Handled为true后,异常将不会向上继续传递。但是有一种比较意外的情况,当在Filter里面实现重定向时,会抛出一个ThreadAbortException,那抛出的这个异常是不是也会被ExceptionFilter捕获进行处理,设置ExceptionHandled为true后,从而不能实现正确的跳转。如果通过测试可以发现在Filter里面实现重定向还是可以跳转成功的. 阅读全文
摘要:
RegexOptions.Singleline:指定单行模式。更改点 (.) 的含义,使它与每一个字符匹配(而不是与除 \n 之外的每个字符匹配)。 这是MSDN上面的解释。在正则表达式中"."是与"\n"之外的所有字符匹配的。当使用Singleline的时候,在使用"."的情况下会实现跨行匹配,在使用Multiline的时候不会实现跨行匹配。View Code StringBuilder input = new StringBuilder(); input.AppendLine("These is the first te 阅读全文