今天主要学习了一下内容:
1管理
本节说明如何管理Active Directory 中的对象,如何使用Windows Managenment Instrument获取企业数据和使管理任务自动化
本节内容
。net framework中的目录服务
windows ,Management Instrumentation in .net Framework
异步编程概述
使用IAsyncresult 设计模式的异步操 作是通过名为begin操作名为和End操作名称的两个方法实现的,這两个方法分别开始和结束异步操作,操作名称,例如,fileStream类提供beginRead 和EndRead方法來从文件异读取字节,這两个方法实现Read 方法异步版本
在调用Begin 操作名称后,应用程序可以继续在调用线程上执行指令,同時异步操作在另一个线程上执行,每次调用Begin 操作名称時,应用程序还应调用End
操作名称來获取操作的结果
开始异步操作
Begin OPeration Name 方法开始异步操作OperationName 并返回实现IAsyncResult接口的对象。IAsyncResult 对象存储有关 异步操作的信息
结束异步操作
End操作名称方法可结束异步操作操作名称,End 操作名称方法的返回值与其同步副本的返回值类型相同,并且是特定于异步操作的,例如,end 方法返回从Filestream 读取的字节数。
结束异步作
使用IAsyncResult 调用异步方法
,NET Framework和第三方类库中的类型可以提供允许应用程序在主应用程序线程中执行异步操作的同時继续执行的方法,下面几部分介绍了在调用
IASyncResult设计模式的异步方法時可以采用的几种不同方式,并提供了演示这些方式的代码示例
通过结束异步操作來阻止应用程序执行
使用AsyncWaitHandle 阻止应用程序的执行
轮训异步操作的状态
使用AsyncCallback 委托结束异步操作
使用AsyncCallback 委托结束异步操作
在等待异步操作结果的同時可以进行替他工作的应用程序不应在操作完成之前阻止等待,可以使用下列方法之一來等待异步操作完成的同時继续执行指令
可使用AsyncCallback委托来处理另一个线程中的异步操作的结果
可使用异步操作的Begin操作名称方法返回的IAsyncReasult 的is completed 属性來确定該操作是否已完成
示例
垃圾回收
。 NET Framework de 垃圾回收器管理应用程序的内存分配和释放,每当你创建性对象時,公共语言运行時都会托管堆为該对象分配内存,只要托管对中有地 址空间可用,运行時 就会继续为新对象分配空间,但是,内存不是无限大的,最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分本情况确定执行回收的最佳时间。当垃圾回收器执行回收時,它检查托管堆中不再被应用程序使用的对象并执行必须的操作來回收他们占用的内存
垃圾回收的基础
垃圾回收和性能
被动回收
邂后时间模式
针对共享web承载优化
垃圾回收通知
应用程序域资源监控
弱引用
互操作性
。net Framework 提供的一些服务,这些服务用于與COM组件,com+服务,外部类库以及许多操作系统服务进行交互
于非拖管代码交互操作
高级com 互操作性
延迟初始化
一个对象的延迟初始化意味這該对向的创建将会延迟之第一次使用该对象時,延迟初始化主要用于提高性能,避免浪费计算,并减少内存要求
有一个对象的创建开销很大,而程序可能不会使用它。例如,假定你在内存中有一个Customer 对象,該对向的Orders 属性包含一个很大Order对象数组,该数组需要数据库连接以进行初始化。。如果用户从未要求显示Orders在计算中使用其数据,则没有理由使用系统内存或计算周期來创建它,通过使用lazy將Orders对象声明为延迟初始化,可以避免在不使用該对象的情况下浪费系统资源
有一个对象的创建开销很大,你想要將创建它的时间延迟到完成其他开销大的操作之后。例如,假定你的程序在启动時加载若干各对象实例,但只有一些对象实例需要立即执行,通过將不比要的对象的初始化到已创建必要的对象之后,可以提高程序的启动性能
基本的延迟初始化
线程安全初始化
延迟对象中的异常
实现延迟初始化属性
若要通过使用延迟初始化來实现一个公共属性,请将該属性的支持字段定义为lazy,并从該属性get 访问器中返回Value 属性