随笔分类 -  .net

摘要:web配置文件public class ConfigurationOperator : IDisposable { private Configuration config; public ConfigurationOperator() :th... 阅读全文
posted @ 2014-06-04 14:39 luyujie_may 阅读(560) 评论(0) 推荐(0)
摘要:一、基本概念反射:反射是一个运行库类型发现的过程。通过反射可以得到一个给定程序集所包含的所有类型的列表,这个列表包括给定类型中定义的方法、字段、属性和事件。也可以动态的发现一组给定类支持的借口、方法的参数和其他相关信息如基类、命名空间、数据清单等。二、命名空间 1.System.Reflection命名空间内的各类型(1)Assembly通过它可以加载、了解和操纵一个程序集(2) AssemblyName通过它可以找到大量隐藏在程序集的身份中的信息,如版本信息、区域信息等(3) EventInfo事件的信息(4)FieldInfo字段的信息(5)MethodInfo方法的信息 (6)Param 阅读全文
posted @ 2013-09-16 17:45 luyujie_may 阅读(251) 评论(0) 推荐(0)
摘要:服务端缓存(1)Session:针对小量数据,服务于单个用户,默认失效时间为20分钟。(2)Application:任意数据大小,服务于所有用户,拥有整个应用程序的生命周期。通常是针对小数据存储,像实现网站访问量等。(3)Cache:任意数据大小,服务于所有用户,程序指定生命周期。移除Cache,我们可以使用Cache.Remove("key"),也可以根据缓存依赖关系来让Cache失效。当依赖的关系有改动时,此时Cache会自动失效。=》缓存依赖:缓存的生命周期依赖于数据来源的变化,缓存依赖有多种,限于篇幅,只介绍下面两种。I、依赖于文件或文件夹:当磁盘上的一个文件或文件 阅读全文
posted @ 2013-09-16 16:28 luyujie_may 阅读(269) 评论(0) 推荐(0)
摘要:通常我们在程序中需要调用WebService时,都是通过“添加Web引用”,让VS.NET环境来为我们生成服务代理,然后调用对应的Web服务。这样是使工作简单了,但是却和提供Web服务的URL、方法名、参数绑定在一起了,这是VS.NET自动为我们生成Web服务代理的限制。如果哪一天发布Web服务的URL改变了,则我们需要重新让VS.NET生成代理,并重新编译。在某些情况下,这可能是不能忍受的,我们需要动态调用WebService的能力。比如我们可以把Web服务的URL保存在配置文件中,这样,当服务URL改变时,只需要修改配置文件就可以了。 说了这么多,实际上我们要实现这样的功能:public 阅读全文
posted @ 2013-09-03 10:52 luyujie_may 阅读(296) 评论(0) 推荐(0)
摘要:以dispose的模式来代替finalize方式:非托管资源的清理主要有终止化操作和Dispose模式两种,其中Finalize方式存在执行时间不确定,运行顺序不确定,同时对垃圾回收的性能有极大的损伤。选择合适的垃圾收集器:工作站GC和服务器GC:工作站GC主要应用于单处理器系统,而服务器收集器专为多处理器设计,默认情况下为工作站收集器。适当的情况下对对象实现弱引用:弱引用是对象引用的一种中间态,实现了对象既可以通过GC回收内存,又可以被应用程序访问的机制。胖对象需要大量的内存来创建,弱引用机制保证了胖对象的内存不足时GC可以回收,而不影响内存使用,在没有被GC回收前又可以再次引用该对象,从而 阅读全文
posted @ 2013-06-24 10:22 luyujie_may 阅读(221) 评论(0) 推荐(0)
摘要:1.字段 通常定义为private(封装原则)2.属性(property) 通常定义为public,表示类的对外成员。具有可读可写属性,通过get和set访问器实现3.索引器(indexer) C#中的类成员可以是任意类型,包括数组和集合。当一个类包含了数组和集合成员时,索引器将大大简化对数组或集合成员的存取操作。定义索引器的方式与定义属性有些类似,其一般形式如下:[修饰符] 数据类型 this[索引类型 index]{ get set}修饰符包括 public,protected,private,internal,new,virtual,sealed,override, abstract,. 阅读全文
posted @ 2013-06-22 17:23 luyujie_may 阅读(425) 评论(0) 推荐(0)
摘要:1.继承定义:就是面向对象中类与类之间的一种关系。通过继承,使得子类具有父类的属性和方法,同时子类也可以通过加入新的属性和方法或者修改父类的属性和方法建立新的类层次。2.CLR支持实现单继承和接口多继承3.继承特性继承是可以传递的,子类是对父类的扩展,必须继承父类方法,同时可以添加新方法。子类可以调用父类方法和字段,而父类不能调用子类方法和字段。虚方法如何实现覆写操作,使得父类指针可以指向子类对象成员。子类不光继承父类的公有成员,同时继承父类的私有成员,只是在子类中不被访问。new关键字在虚方法继承中的阻断作用。4.接口继承抽象类适合于有族层概念的类间关系,而接口最适合为不同的类提供通用功能接 阅读全文
posted @ 2013-06-22 15:25 luyujie_may 阅读(567) 评论(0) 推荐(0)
摘要:1、对象的生成(出生) Person aperson=new Person("小张",25) 构造过程:分配存储空间—初始化附加成员—调用构造函数2.对象的旅程(在一定的约定与规则下,通过方法进行彼此的交互操作从而达到改变本身状态的目的) 对象类型:值类型(线程的堆栈)和引用类型(托管堆)。装箱:值类型—引用类型 拆箱:引用类型—值类型 对象属性:字段、属性。方法操作这些对象的交互方式:设计模式对象的生存环境:CLR3.继承(目的:提高软件复用) public:开放性最大,都可以访问 protected:纵向关心约定,其对象有访问父类的权限(父类和子类) internal: 阅读全文
posted @ 2013-06-22 12:44 luyujie_may 阅读(210) 评论(0) 推荐(0)