摘要: 1. LimitedConcurrencyLevelTaskScheduler 介绍 这个TaskScheduler用过的应该都知道,微软开源的一个任务调度器,它的代码很简单, 也很好懂,但是我没有明白的是他是如何实现限制并发数的 首先贴下它的代码,大家先熟悉一下。 public class... 阅读全文
posted @ 2015-06-10 21:47 ◇゛   仅此而已 阅读(4175) 评论(5) 推荐(2) 编辑
摘要: dapper 是一个效率非常高的orm 框架 ,效率要远远大于 我们大微软的EF . 它只有一个类文件,非常之小。(在 EF 5.0 后 微软已经做了 改进) ps; 由于之前我也没测试过,只是看过官方之前的数据,还是实践出真知 。 在这里谢谢 深蓝医生的指正。不过它还是一个非常优秀的微型orm... 阅读全文
posted @ 2013-11-13 00:59 ◇゛   仅此而已 阅读(8256) 评论(19) 推荐(9) 编辑
摘要: 1基本场景比如你有N个cache服务器(后面简称cache),那么如何将一个对象object映射到N个cache上呢,你很可能会采用类似下面的通用方法计算object的hash值,然后均匀的映射到到N个cache;hash(object)%N一切都运行正常,再考虑如下的两种情况;1一个cache服务器m down掉了(在实际应用中必须要考虑这种情况),这样所有映射到cache m的对象都会失效,怎么办,需要把cache m从cache中移除,这时候cache是N-1台,映射公式变成了hash(object)%(N-1);2由于访问加重,需要添加cache,这时候cache是N+1台,映射公式变 阅读全文
posted @ 2013-10-23 00:15 ◇゛   仅此而已 阅读(2640) 评论(2) 推荐(1) 编辑
摘要: 1.死锁原理根据操作系统中的定义:死锁是指在一组进程中的各个进程均占有不会释放的资源,但因互相申请被其他进程所站用不会释放的资源而处于的一种永久等待状态。死锁的四个必要条件:互斥条件(Mutual exclusion):资源不能被共享,只能由一个进程使用。请求与保持条件(Hold and wait):已经得到资源的进程可以再次申请新的资源。非剥夺条件(No pre-emption):已经分配的资源不能从相应的进程中被强制地剥夺。循环等待条件(Circular wait):系统中若干进程组成环路,该环路中每个进程都在等待相邻进程正占用的资源。对应到SQL Server中,当在两个或多个任务中,如 阅读全文
posted @ 2013-06-29 12:00 ◇゛   仅此而已 阅读(390) 评论(2) 推荐(0) 编辑
摘要: 一.什么是Asp.Net页面生命周期当我们在浏览器地址栏中输入网址,回车查看页面时,这时会向服务器端(IIS)发送一个request请求,服务器就会判断发送过来的请求页面, 完全识别 HTTP 页面处理程序类后,ASP.NET 运行时将调用处理程序的 ProcessRequest 方法来处理请求,来创建页面对象。通常情况下,无需更改此方法的实现,因为它是由 Page 类提供的。接下来被创建页面对象的ProcessRequest方法使页面经历了各个阶段:初始化、加载视图状态信息和回发数据、加载页面的用户代码以及执行回发服务器端事件。之后,页面进入显示模式:收集更新的视图状态,生成 HTML 代码 阅读全文
posted @ 2013-06-27 23:22 ◇゛   仅此而已 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 在Winform(C#)中要实现限制Textbox只能输入数字,一般的做法就是在按键事件中处理,判断keychar的值。限制只能输入数字,小数点,Backspace,del这几个键。数字0~9所对应的keychar为48~57,小数点是46,Backspace是8。拖一个Textbox到窗体上,添加OnKeyPress事件,在事件写判断的代码,只要判断不是这些键,设置e.Handled的值为true,就可以屏蔽输入。方法一:private void tBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyC... 阅读全文
posted @ 2013-06-27 16:38 ◇゛   仅此而已 阅读(1198) 评论(0) 推荐(0) 编辑
摘要: 阅读目录开始查看web.config文件在IIS中创建网站IIS6 添加扩展名映射IIS6 无扩展名的映射目录的写入权限SQL SERVER的配置在IIS7中部署ASP.NET程序80端口和域名在我的第一篇博客中,我发布过一个示例项目, 主要演示了我的我的AJAX框架和我的通用数据访问层。 虽然在当初我认为我已考虑地比较周全了,而且还提供了足够的说明文档, 但在发布后的将近一年的时间里,还是有不少人给我发邮件,问我一些关于不能运行示例的问题。 在所有问题中,主要集中在IIS和SQL SERVER的配置方面。 因此,我认为还是有必要再来谈一下在IIS6/7以及SQL SERVER中部署ASP.N 阅读全文
posted @ 2013-06-26 21:06 ◇゛   仅此而已 阅读(270) 评论(0) 推荐(0) 编辑
摘要: GC 垃圾回收.NET Framework 的垃圾回收器管理应用程序的内存分配和释放。每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存。在内存大于 2GB 的服务器中,可能需要在 boot.ini 文件中指定 /3GB 开关,以避免当内存仍可供系统使用时出现明显的内存不足问题。当使用非 阅读全文
posted @ 2013-06-26 16:04 ◇゛   仅此而已 阅读(197) 评论(0) 推荐(0) 编辑
摘要: 反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。公共语言运行库(CLR)加载器管理应用程序域,这些域在拥有相同应用程序范围的对象周围形成了确定边界。这种管理包括将每个程序集加载到相应的应用程序域以及控制每个程序集中类型层次结构的内存布局。System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码System.Reflection.AssemblySystem.Reflection.MemberInfoSystem.Refl 阅读全文
posted @ 2013-06-25 22:26 ◇゛   仅此而已 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 前言 写这篇文章的最初动力是来自于一次笔试经历。有一道笔试题大概是这样的:程序使用一个txt文件来存储操作记录。存储记录是多行字符串,每一行代表一次操作记录,格式如下:用户名+操作事项名称+操作时间。现在假设这个txt文件已经非常大了,要求对这个文件做一些处理(具体记不太清了,接近于一些逻辑处理和增删改)。毫无疑问,对于txt文件来说,要对之中的数据进行处理,首先要把数据读入内存,这就涉及到选择何种数据结构的问题了。基于自己的常规思维,我不加思索就选择了自定义类的List泛型存储数据。之后再与面试官交流的时候,他给出了用Dictionary泛型的解决方案。由于自己的认知局限,当时没听明白面试. 阅读全文
posted @ 2013-06-25 13:45 ◇゛   仅此而已 阅读(277) 评论(1) 推荐(0) 编辑