摘要:
用winFrom做为宿主时,要注意服务的线程是否在UI线程中 [ServiceBehavior(UseSynchronizationContext=false, ConcurrencyMode=ConcurrencyMode.Reentrant)]以上定义为,线程不同步,可重入。可处理回调。 阅读全文
摘要:
四种契约 服务契约 数据契约 消息契约 应用契约 ServiceContractAttribute – 定义服务操作 OperationContractAttribute – 方法作为公共服务契约的一部分暴露出来[ServiceContract(Name = "GigManagerServiceContract", Namespace = "http://www.localhost.co... 阅读全文
摘要:
WCF的三大核心是ABC A代表Address-where(对象在哪里) B代表Binding-how(通过什么协议取得对象) C代表Contact(契约)-what(定义的对象是什么,如何操纵) 创建一个空的解决方案 服务端项目 添加一个 Console 或 winForm 服务端项目 添加一个 WCF Service 命名 WCF服务 定义 WCF服务 的接口 与 接口的实... 阅读全文
摘要:
内容 使用线程处理 如何:创建和终止线程 如何:使用线程池 如何:对制造者线程和使用者线程进行同步 使用线程池 通过 ThreadPool 类使用 下面的示例使用 .NET Framework 线程池计算 20 和 40 之间的十个数的 Fibonacci 结果。每个 Fibonacci 结果都由 Fibonacci 类表示,该类提供一种名为 ThreadPoolCallbac... 阅读全文
摘要:
迭代器是 C# 2.0 中的新功能。迭代器是方法、get 访问器或运算符,它使您能够在类或结构中支持 foreach 迭代,而不必实现整个 IEnumerable 接口。您只需提供一个迭代器,即可遍历类中的数据结构。当编译器检测到迭代器时,它将自动生成 IEnumerable 或 IEnumerable 接口的 Current、MoveNext 和 Dispose 方法。 迭代器概述 迭代器是可以... 阅读全文
摘要:
MSDN 章节内容 ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_csref/html/75ea8509-a4ea-4e7a-a2b3-cf72482e9282.htm 泛型介绍(C# 编程指南) 泛型的优点(C# 编程指南) 泛型类型参数(C# 编程指南) 类型参数的约束(C# 编程指南) 泛型类(C# 编程指南) 泛... 阅读全文
摘要:
析构函数当应用程序封装窗口、文件和网络连接这类非托管资源时,应当使用析构函数释放这些资源。 析构函数用于析构类的实例。 备注 不能在结构中定义析构函数。只能对类使用析构函数。 一个类只能有一个析构函数。 无法继承或重载析构函数。 无法调用析构函数。它们是被自动调用的。 析构函数既没有修饰符,也没有参数。 例如,下面是类 Car 的析构函数的声明: class Car{ ~ Car()... 阅读全文
摘要:
字段 字段是被视为类的一部分的对象实例,通常保存类数据。例如,日历类可能具有一个包含当前日期的字段。 属性 属性是类中可以像类中的字段一样访问的方法。属性可以为类字段提供保护,避免字段在对象不知道的情况下被更改。 方法 方法定义类可以执行的操作。方法可以接受提供输入数据的参数,并且可以通过参数返回输出数据。方法还可以不使用参数而直接返回值。 事件 事件是向其他对象提供有关事件发生(如单击按钮或成功... 阅读全文
摘要:
接口是使用 interface 关键字定义的。例如:interface IComparable { int CompareTo(object obj); } 接口描述可属于任何类或结构的一组相关行为。接口可由方法、属性、事件、索引器或这四种成员类型的任何组合构成。接口不能包含字段。接口成员一定是公共(public)的。类和结构可以像类继承基类或结构一样从接口继承,但有两个例外: 类或结构可继... 阅读全文
摘要:
委托 定义:[修饰符] delegate <返回类型> <委托名称>([参数1,参数2……]); 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示public delegate int PerformCalculation(int x, int y);委托具有以下特点:... 阅读全文