02 2017 档案
摘要:自定义绑定 当系统提供的某个绑定不符合服务的要求时,可使用 CustomBinding 类。所有绑定都是从绑定元素的有序集构造而来的。自定义绑定可以从一组系统提供的绑定元素生成,也可以包含用户定义的自定义绑定元素。例如,可以使用自定义绑定元素在服务终结点处使用新的传输或编码器。有关可运行示例,请参见
阅读全文
摘要:前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力。通常ActiveX控件都是用C++或VB语言开发,本文介绍另一种方式,在.NET Framework平台上,使用C#语言开发A
阅读全文
摘要:本主题概述了创建 Internet 信息服务 (IIS) 中承载的 Windows Communication Foundation (WCF) 服务所需的基本步骤。 本主题假设您熟悉 IIS 且了解如何使用 IIS 管理工具创建和管理 IIS 应用程序。 有关以下内容的详细信息请参阅 IIS In
阅读全文
摘要:Installshield安装程序实例—基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些
阅读全文
摘要:反射(C# - vs2010) 反射提供了描述程序集、模块和类型的对象(Type 类型)。 可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。 如果代码中使用了特性,可以利用反射来访问它们。 有关更多信息,请参见 利用特性扩展元数据。 下面是使
阅读全文
摘要:特性(C# - vs2010) 特性提供功能强大的方法,用以将元数据或声明信息与代码(程序集、类型、方法、属性等)相关联。 特性与程序实体关联后,即可在运行时使用名为“反射”的技术查询特性。 有关更多信息,请参见 反射(C# 和 Visual Basic)。 特性具有以下属性: 特性可向程序中添加元
阅读全文
摘要:迭代器(C# 编程指南) 迭代器是 C# 2.0 中的新功能。迭代器是方法、get 访问器或运算符,它使您能够在类或结构中支持 foreach 迭代,而不必实现整个 IEnumerable 接口。您只需提供一个迭代器,即可遍历类中的数据结构。当编译器检测到迭代器时,它将自动生成 IEnumerabl
阅读全文
摘要:观察程序设计模式 观察者设计模式使订阅者能够向提供程序注册并接收相关通知。 它适合所有需要推送通知的方案。 该模式定义一个提供程序(也称为主题或观察对象)以及零个、一个或多个观察者。 观察者向提供程序注册,并且当任何预定义的条件、事件或状态更改发生时,提供程序就会调用观察者中的一种方法,自动通知所有
阅读全文
摘要:延迟初始化 一个对象的延迟初始化意味着该对象的创建将会延迟至第一次使用该对象时。 (在本主题中,术语“延迟初始化”和“延迟实例化”是同义词。)延迟初始化主要用于提高性能,避免浪费计算,并减少程序内存要求。 以下是最常见的方案: 有一个对象的创建开销很大,而程序可能不会使用它。 例如,假定您在内存中有
阅读全文
摘要:委托概述 委托是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值,如下面的示例所示: 复制 public delegate int PerformCalculation(int x, int y); 与委托的签名(由返
阅读全文
摘要:独立存储 独立存储是一种数据存储机制,它在代码与保存的数据之间定义了标准化的关联方式,从而提供隔离性和安全性。 同时,标准化也提供了其他好处。 管理员可以使用旨在操作独立存储的工具来配置文件存储空间、设置安全策略及删除未使用的数据。 通过独立存储,代码不再需要使用唯一的路径来指定文件系统中的安全位置
阅读全文
摘要:管道提供了一种进程间通信的方法。 有两种类型的管道: 匿名管道。 匿名管道提供本地计算机上的进程间通信。 匿名管道需要的系统开销比命名管道少,但它提供的服务也很有限。 匿名管道为单向的,不能在网络上使用。 它们只支持单一服务器实例。 匿名管道对线程间通信或是父子进程之间的通信非常有用,对于后者,管道
阅读全文
摘要:内存映射文件包含虚拟内存中文件的内容。利用文件与内存空间之间的映射,应用程序(包括多个进程)可以通过直接在内存中进行读写来修改文件。从 .NET Framework 4 版开始,可以使用托管代码按照本机 Windows 函数访问内存映射文件的方式来访问内存映射文件,如 MSDN Library 中的
阅读全文
摘要:编写流 备份存储区是一个存储媒介,例如磁盘或内存。 每个不同的备份存储区都实现其自己的流作为 Stream 类的实现。 每个流类型也都从其给定的备份存储区读取字节并向其给定的备份存储区写入字节。 连接到备份存储区的流叫做基流。 基流具有的构造函数具有将流连接到备份存储区所需的参数。 例如,FileS
阅读全文
摘要:基本的文件 I/O 抽象基类 Stream 支持读取和写入字节。 Stream 集成了异步支持。 其默认实现根据其相应的异步方法来定义同步读取和写入,反之亦然。 所有表示流的类都是从 Stream 类继承的。 Stream 类及其派生类提供数据源和储存库的一般视图,使程序员不必了解操作系统和基础设备
阅读全文
摘要:Visual Studio 中的 .NET Framework 类库 .NET Framework 类库由命名空间组成。每个命名空间都包含可在程序中使用的类型:类、结构、枚举、委托和接口。 当您在 Visual Studio 中创建 Visual Basic 或 Visual C# 项目时,已经引用
阅读全文
摘要:泛型代码中的默认关键字(C# 编程指南) 在泛型类和泛型方法中产生的一个问题是,在预先未知以下情况时,如何将默认值分配给参数化类型 T: T 是引用类型还是值类型。 如果 T 为值类型,则它是数值还是结构。 给定参数化类型 T 的一个变量 t,只有当 T 为引用类型时,语句 t = null 才有效
阅读全文
摘要:泛型(C# 编程指南) 泛型是 2.0 版 C# 语言和公共语言运行库 (CLR) 中的一个新功能。泛型将类型参数的概念引入 .NET Framework,类型参数使得设计如下类和方法成为可能:这些类和方法将一个或多个类型的指定推迟到客户端代码声明并实例化该类或方法的时候。例如,通过使用泛型类型参数
阅读全文
摘要:事件概述 在发生其他类或对象关注的事情时,类或对象可通过事件通知它们。发送(或引发)事件的类称为“发行者”,接收(或处理)事件的类称为“订户”。 在典型的 C# Windows 窗体或 Web 应用程序中,可订阅由控件(如按钮和列表框)引发的事件。可使用 Visual C# 集成开发环境 (IDE)
阅读全文
摘要:基于事件的异步模式概述 那些同时执行多项任务、但仍能响应用户交互的应用程序通常需要实施一种使用多线程的设计方案。System.Threading 命名空间提供了创建高性能多线程应用程序所必需的所有工具,但要想有效地使用这些工具,需要有丰富的使用多线程软件工程的经验。对于相对简单的多线程应用程序,Ba
阅读全文
摘要:异步委托提供以异步方式调用同步方法的能力。当同步调用一个委托时,“Invoke”方法直接对当前线程调用目标方法。如果编译器支持异步委托,则它将生成“Invoke”方法以及“BeginInvoke”和“EndInvoke”方法。如果调用“BeginInvoke”方法,则公共语言运行库 (CLR) 将对
阅读全文
摘要:.NET Framework 和第三方类库中的类型可以提供允许应用程序在主应用程序线程之外的线程中执行异步操作的同时继续执行的方法。下面几部分介绍了在调用使用 IAsyncResult 设计模式的异步方法时可以采用的几种不同方式,并提供了演示这些方式的代码示例。 .NET Framework 和第三
阅读全文
摘要:异步操作通常用于执行完成时间可能较长的任务,如打开大文件、连接远程计算机或查询数据库。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序可在异步方法执行其任务时继续执行。 .NET Framework 为异步操作提供两种设计模式: 使用 IAsyncResult
阅读全文
摘要:BackgroundWorker 组件取代了 System.Threading 命名空间并添加了功能;但是,可以选择保留 System.Threading 命名空间以实现向后兼容并供将来使用。有关更多信息,请参见 BackgroundWorker 组件概述。 您可以编写能同时执行多个任务的应用程序。
阅读全文
摘要:偶然在博客园中了解到这种技术,顺便学习了几天。 以下是搜索到一些比较好的博文供参考: MEF核心笔记 《MEF程序设计指南》博文汇总 先上效果图 一、新建解决方案 开始新建一个解决方案Mef,再添加一个winform项目为:MefDemo 如图: 打开Form1窗口,拉入MenuStrip菜单控件,
阅读全文
摘要:在MEF之前,人们已经提出了许多依赖注入框架来解决应用的扩展性问题,比如OSGI 实现以Spring 等等。在 Microsoft 的平台上,.NET Framework 自身内部包含组件模型和 System.Addin。同时存在若干种开源解决方案,包括 SharpDevelop 的 SODA 体系
阅读全文
浙公网安备 33010602011771号