.Net平台工具库

JerryXia 发表于 , 阅读 (2,948)
DataAccessEntityFramework.ExtendedEntityFramework.UtilitiesMassiveSqlFuDbUtilityConfigurationSharpConfigDiagnosticsGlimpseMetrics.NETLogLibLog, 日志抽象类NLoglog4netLogging Application BlockDIMugen InjectionSerializerSharpSerializernetserializerNetWork... 阅读全文

Cache实战

JerryXia 发表于 , 阅读 (2,198)
开始做过Web站点性能优化的人,应该都用过缓存这种技术。而在这篇文章中,我所说的Cache是狭义的,仅仅指的是Web站点开发使用到的ASP.NET的Cache,是使用HttpRuntime.Cache访问到的那个Cache,而不是其它的缓存技术或广义的缓存。介绍ASP.NET本身提供了一个强大的、便于使用的缓存机制,用于将需要大量服务器资源来创建的对象存储在内存中。缓存这些类型的资源会大大改进应用程序的性能。缓存实例是每个应用程序专用的,其生存期依赖于应用程序的生存期,重新启动应用程序后,... 阅读全文

规范C#代码的命名

JerryXia 发表于 , 阅读 (1,864)
本文结合我自己的开发经验,总结出若干命名规则,这些命名规则纯属个人的使用习惯,不代表是一种理想的规则,在这里列举出来,仅供参考。1.切忌使用拼音,甚至是拼音首字母组合:cishu =5; // 循环的次数 zzje = 1000.00 // 转账金额 2.要使用英文,而且要使用准确的英语,无论是拼写还是语法:名词单数,必须使用单数英文,如Account、Customer。对于数组,列表等对象集合的命名,必须使用复数,而且最好按照英文的语法基础知识使用准确的复数形式,如 List<Ac... 阅读全文

.Net内存回收相关:析构函数、Finalize

JerryXia 发表于 , 阅读 (2,132)
对于您的应用程序创建的大多数对象,可以依靠 .NET Framework的垃圾回收器隐式地执行所有必要的内存管理任务。但是,在您创建封装非托管资源的对象时,当您在应用程序中使用完这些非托管资源之后,您必须显式地释放它们。 最常见的一类非托管资源就是包装操作系统资源的对象,例如文件、窗口或网络连接。虽然垃圾回收器可以跟踪封装非托管资源的对象的生存期,但它不了解具体如何清理这些资源。对于这些类型的对象,.NET Framework提供Object.Finalize方法,它允许对象在垃圾回收器回... 阅读全文

实现IDisposable接口最佳方式

JerryXia 发表于 , 阅读 (2,016)
Finalize可以通过垃圾回收进行自动的调用,而Dispose需要被代码显示的调用,所以,为了保险起见,对于一些非托管资源,还是有必要实现终结器的。也就是说,如果我们忘记了显示的调用Dispose,那么垃圾回收也会调用Finalize,从而保证非托管资源的回收。MSDN上给我们提供了一种很好的模式来实现IDisposable接口来结合Dispose和Finalize,看下面的代码:class MyResourceWrapper:IDisposable { private bool... 阅读全文

C#使用Process类执行命令

JerryXia 发表于 , 阅读 (2,105)
private string RunCmd(string command) { //实例一个Process类,启动一个独立进程 Process p = new Process(); //Process类有一个StartInfo属性 //设定程序名 p.StartInfo.FileName = "cmd.exe"; //设定程式执行参数 p.StartInfo.Arguments = "/c " ... 阅读全文

Framework和Architecture的区别

JerryXia 发表于 , 阅读 (4,199)
其实,Architecture这个字是建筑之意,也就是由没有建筑物到完成的过程,以及如何将建筑生产出来的方法(即建筑学),它是一种Guideline,又称蓝图(blueprint),它指导了建筑物应该要怎麽盖,墙要几公分高,梁柱的位置,地基的面积,基础要打在哪,高度要多高,房间要多大等等都有。但它却没有叫你要用什麽方式(工法)盖。软件也是一样,所谓的软件架构(Software Architecture)是一种软件的蓝图,它告诉你这个软件的结构,功能,介面,用法,与其他系统的构连以及数据交换... 阅读全文