随笔分类 - .Net开发经验
经验
摘要:using System.Reflection;using System.IO;using System.Resources;using System.Media;using System.Diagnostics;namespace CN.OutOfMemory.Csharp{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender...
阅读全文
摘要:c#之process类相关整理 根据进程名获取进程的用户名,杀死进程,执行命令获得命令输出等
阅读全文
摘要:C#查看堆栈通常是在异常处理中,出现异常之后通过异常的堆栈可以很方便的得到出现这个错误的代码调用路径。这个很有用,是否可以在没有异常出现时使用这种方法排查一些非异常错误呢?答案是肯定的。
阅读全文
摘要:将数字格式化规则编成了一小段词,帮助你记忆数字格式化的规则。还有日期格式化,进来看看一起改进呀
阅读全文
摘要:这篇文章我们来谈谈垃圾回收器和程序的虚拟内存、物理内存之间的关系。再谈谈怎样判断你的托管堆是否是健康的;为什么在机器还有大量内存的情况下程序会抛出OutofMemoryException
阅读全文
摘要:本文介绍了如何在配置文件中自定义配置一个简单的类,配置复杂类型,如何配置集合类,如何使用系统自带的键值对集合配置类似appSettings的配置节以及如何配置sectionGroup等
阅读全文
摘要:另一种用法可以在一个线程获得对象锁后再释放锁,然后阻塞当前线程执行,直到收到Monitor发出的信号后再继续执行
阅读全文
摘要:这篇文章我们谈谈GC的不同工作模式,以及各个模式如何工作和他们之间的不同,让你明白你的应用程序该如何选择工作模式
阅读全文
摘要:本文首先介绍了分配对象回收对象都有哪些开销,然后介绍了从垃圾回收角度该如何组织数据,该用引用类型还是值类型,对象的存储位置对垃圾回收有什么影响,如何使用大对象才是有效的等等
阅读全文
摘要:垃圾回收是.Net程序管理托管内存的基础,这篇我们看下弱引用对象,代,多线程垃圾回收,大对象处理以及和垃圾回收相关的性能计数器
阅读全文
摘要:有了Microsoft.Net clr中的垃圾回收机制程序员不需要再关注什么时候释放内存,释放内存这件事儿完全由GC做了,对程序员来说是透明的。尽管如此,作为一个.Net程序员很有必要理解垃圾回收是如何工作的
阅读全文
摘要:.Net程序在运行时会实时(JIT)编译,这需要消耗额外的cpu和内存资源,这个对于服务器端程序是无关紧要的,因为实时编译只在程序第一次运行时编译,之后就不需要再做了;如果你在做的是一个较大的winform程序或者silverlight等客户端程序时就需要考虑提前编译了
阅读全文
摘要:协变和逆变的概念不太容易理解,本文通过实际代码帮助思考理解这两个概念。这么绕的东西到底有用吗?答案是肯定的,通过协变和逆变可以更好的复用代码。复用是软件开发的一个永恒的追求。
阅读全文
摘要:在C#中有三个关于比较对象大小的接口,分别是IComparable、IComparable和IComparer。 IComparable和IComparable是类本身实现的在实例之间比较大小的行为定义。IComparer是定义在被比较类之外的专门比较两个T类型对象大小的行为,另外还有一个用于比较的委托定义Comparison可以让我们用拉姆达表达式或者匿名委托或方法更方便的排序。
阅读全文
摘要:在sql server2005以及之后的sql server中引入了Xml数据类型,在C#中使用Xml数据类型需要指定参数类型为SqlDbType,参数值类型需要用SqlXml
阅读全文
摘要:Asp.Net站点有时候会莫名其妙的重启,什么原因导致的却不得而知,经过一番折腾后,我总结了导致Asp.Net站点重启的10个原因
阅读全文
摘要:在站点执行Application_End事件中添加记录方法。在Global.asax.cs文件中添加如下代码即可:void Application_End(object sender, EventArgs e){ // Code that runs on application shutdown RecordEndReason();}protected void RecordEndReason(){ HttpRuntime runtime = (HttpRuntime)typeof(System.Web.HttpRuntime).InvokeMember("_theRuntime&q
阅读全文
摘要:checked 和 unchecked关键字用来限定检查或者不检查数学运算溢出的;如果使用了checked发生数学运算溢出时会抛出OverflowException;如果使用了unchecked则不会检查溢出,算错了也不会报错
阅读全文