上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页
摘要: #define #undef这些指令告诉编译器哪些代码块需要编译,哪些不需要#warning #error编译过程中遇到#warning则抛出一条警告,然后继续执行编译过程中遇到#error则抛出错误,退出编译,不会生成IL代码。#region #endregion用于把一段代码标记为给定名称的一个块。#line它用于编译器在警告和错误信息中显示的文件名和行号信息。#pragma指令可以抑制或还原指定的编译警告。 阅读全文
posted @ 2013-05-20 10:36 UncleNull 阅读(163) 评论(0) 推荐(0) 编辑
摘要: http://kb.cnblogs.com/page/79459/ 阅读全文
posted @ 2013-05-18 19:39 UncleNull 阅读(349) 评论(0) 推荐(0) 编辑
摘要: 应用程序域是.Net中的一个重要技术改进,他用于减少运行应用程序的系统开销。应用程序域是分离组件的一种方式.其方法是把任何一个进程分解到多个应用程序域中。每个应用程序域大致对应一个应用程序,执行的每个线程都运行在一个具体的应用程序域中。所以就范围而言,我自己排了个序:机器>进程>程序域>应用程序大概就是这个意思。如果应用程序需要在不同域之间通信,就要使用一些其他技术,例如WCF,它能够做到应用程序域之间,进程之间,机器之间的通信,这里就不在详细介绍了。 阅读全文
posted @ 2013-05-17 11:44 UncleNull 阅读(176) 评论(0) 推荐(0) 编辑
摘要: C#编程的一个优点是程序员不需要担心具体的内存管理,垃圾回收器会自动处理所有的内存清理工作。Windows使用一个系统:虚拟寻址系统,该系统把程序可用的内存地址映射到硬件内存中的实际地址上,这些任务完全由Windows在后台管理。每个进程都能够使用4GB的内存空间(32位)。4GB的内存包含了程序的所有部分,包括可执行代码,代码加载的所有DLL,以及程序运行时使用的所有变量的内容。虚拟内存中有一个栈,管理值数据类型。那么引用类型如何管理,接下来看代码Stu s;//申明了一个Stu的引用,在栈上给这个引用分配存储空间,但这仅仅是一个引用,而不是Stu对象 s = new ... 阅读全文
posted @ 2013-05-17 11:12 UncleNull 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 在.Net中,编译分为两个阶段(1)把源代码编译为Microsoft中间语言(IL)。(2)CLR把IL编译为平台专用代码。中间语言中间语言主要特性面向对象和使用接口值类型和引用类型之间的显著差异强数据类型化使用异常来处理错误使用特性垃圾回收Windows平台已经使用了两种技术来释放进程向系统动态请求的内存:(1)完全以手工方式使应用程序完成这些工作(2)让对象维护引用计数。.Net运行库采用的方法是垃圾回收库,这是一个程序,其目的就是清理内存。每隔一段时间,当.Net检测到给定的进程托管堆已满,需要清理时,就调用垃圾回收器,检测哪些对象的引用技术为0. 阅读全文
posted @ 2013-05-17 10:22 UncleNull 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 学习资源非常宝贵,感谢楼主分享,原文地址http://kb.cnblogs.com/page/140611/在一个网络中。传输数据需要面临三个问题:1.客户端如何知道所请求内容的位置(统一资源定位符url)2.客户端知道所请求内容的位置后,如何获得内容(http)3.所请求内容以何种形式组织以便被客户端所识别(html)HTTP请求(HTTP Request)http请求,就是web客户端向web服务器发送的信息,这个信息由如下三部分组成1.请求行一个典型的请求行 GET www.cnblogs.com http/1.1 由三部分组成,第一部分是请求方法,第二部分是请求网址,第三部分是HTTP 阅读全文
posted @ 2013-05-16 11:02 UncleNull 阅读(176) 评论(0) 推荐(0) 编辑
摘要: Blend 4中经常看到一个输入框,里面有值还有单位,当获取到焦点的时候,就只有值了,修改完值之后,失去焦点,单位又加上了。class myTextbox : TextBox { private int _timeValue=100; public int TimeValue { get { return _timeValue; } set { _timeValue = value; } } public myTextbox() { thi... 阅读全文
posted @ 2013-05-15 17:03 UncleNull 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 我们也许会遇到这样一种情况,我们有一个大家伙(大对象)需要创建,那么这个对象的创建时需要较长的时间,同时也需要在托管堆上分配较多的空间。那么在.NET Framework 4 中提供了这样一个很聪明的方式:Lazy<T>(我们可以称之为懒对象)。当然,在之前,很多人也曾对其进行过自己的实现。那么我们在这里就可以把 Lazy<T> 的作用总结为一句话,按需延迟加载。class Program { static void Main(string[] args) { Lazy<Person> p = new Lazy<Person>(); ... 阅读全文
posted @ 2013-05-08 13:55 UncleNull 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 行为(Behaviors)行为就是服务的本地特性,他不会影响服务的通信模式。客户端不并不知道行为,行为也不会出现在服务的绑定或发布的元数据中。WCF定义了两种类型的服务端行为。ServiceBehavior和OpreationBehavior。ServiceBehavior用于配置服务行为,它能够影响服务的所有终结点(包括所有的契约与操作)。OpreationBehavior用于配置操作的行为,即行为只会影响特定操作的实现。ServiceBehavior特性用于配置服务的实例模式。public enum InstanceContextMode { // 摘要: ... 阅读全文
posted @ 2013-05-07 17:16 UncleNull 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 集合(Collections)在.Net中,各种类型的集合均实现了IEnumerable或IEnumerable<T>接口。.Net集合是.Net特有的,WCF中不能在服务元数据中公开他们。定义服务操作时,不管使用哪种结合接口,他们的传输表现形式都使用了数组。[ServiceContract] interface IContractManager { //不能接受Customer对象 [OperationContract] void AddContract(Contract contract); //不能返回C... 阅读全文
posted @ 2013-05-07 14:08 UncleNull 阅读(154) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 13 下一页