-
设计模式分类:
- 串行化(serialization)
串行化(serialization)是指将一个对象的当前状态转换成字节流(a stream of bytes)的过程,而反串行化(deserialization)则指串行化过程的逆过程,将字节流转换成一个对象。.NET运行库怎样实现这一捷径的呢?当然是利用镜像,或更为准确地说是反射。前面提到,程序集含有名为元数据的自描述(self-describing)数据,程序集的元数据完整地表述了内部每一个类型,包括类型中每个私有字段的信息。通过反射过程,运行库能识别元数据,并用它来决定类应怎样被串行化。如果允许运行库串行化一个对象,必须将该类标记上Serializable特性([Serializable])
- DNN(Dotnetnuke)
-
.net 反射(Reflection )
-
.net remoting和webservice的区别
2、remoting可以基于多种网络协议,http、tcp。而service是http上的。remoting的性能可能要比service好些。
3、remoting 是有状态的object,不能够跨平台;webservices 是无状态的object, 能够跨平台。
4、Remoting不是标准,而Web Service是标准;
5、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要IIS进行启动。
6、在VS.net开发环境中,专门对Web Service的调用进行了封装,用起来比Remoting方便
-
应用程序域(Application Domains )
以前使用进程边界来隔离在同一台计算机上运行的应用程序。每一个应用程序被加载到单独的进程中,这样就将该应用程序与在同一台计算机上运行的其他应用程序相隔离。应用程序域为安全性、可靠性、版本控制以及卸载程序集提供了隔离边界。应用程序域提供了一个更安全、用途更广的处理单元,公共语言运行库可使用该单元提供应用程序之间的隔离。您可以在具有同等隔离级别(存在于单独的进程中)的单个进程中运行几个应用程序域,而不会造成进程间调用或进程间切换等方面的额外开销。在一个进程内运行多个应用程序的能力显著增强了服务器的可伸缩性。隔离应用程序对于应用程序安全也是十分重要的。例如,您可以在单个浏览器进程中运行几个 Web 应用程序中的控件,同时使这些控件不能访问彼此的数据和资源。
-
Attributes
Attributes 提供功能强大的方法以将声明信息与 C# 代码(类型、方法、属性等)相关联。一旦attribute 与程序实体关联,即可在运行时使用名为反射的技术对attribute 进行查询。Attributes 以两种形式存在:一种是在公共语言运行库的基类库中定义的attribute ,另一种是可以创建,可以向代码中添加附加信息的自定义attribute 。此信息可在以后以编程方式检索。