-
分类:操作系统 语言:简体中文 大小:未知 发布时间:12-11-21
var cpro_id = 'u1056336'; 下面是学习资料下载列表,您可以点击这些文件名进行下载,如果不能下载,请查看下载帮助 Linux和Unix自动化管理.pdf 71.53MB 全选 中文名: UNIX和Linux自动化管理 作者: (美)Kirk Bauer 译者: 马孝荣 图书分类: 软件 资源格式: PDF 出版社: (美)Kirk Bauer 书号: 9787302085942 发行时间: 2004年6月1日 地区: 大陆 语言: 简体中文 简介: 目录: 目 录 第1章 自动化管理基础 1 1.1 是否需要自动化管理 1 1.1.1 采用多种系统的大型公司 2 1.1.2 成长中的中型公司 2 1.1.3 Internet服务提供商 2 1.1.4 应用服务提供商 2 1.1.5 Web服务器群 2 1.1.6 Beowulf簇 3 1.1.7 网络设备 3 1.2 阅读本书的收获 3 1.3 系统管理员的任务 4 1.4 提供用户界面 4 1.5 选用正确的方法 5 1.5.1 均衡系统 6 1.5.2 推和拉 6 1.6 处理用户和管理员的关系 7 第2章 使用SSH安全地进行自动化系统管理 10 2.1 SSH基础 10 2.2 使用SSH增强安全性 11 2.3 使用RSA认证 12 2.3.1 生成密钥对 12 2.3.2 指定授权的密钥 13 2.4 使用ssh-agent 14 2.4.1 ssh-agent的基本用法 14 2.4.2 ssh-agent的高级用法 15 2.4.3 密钥转发 16 2.5 限制RSA认证 17 2.5.1 处理未获信任的主机 18 2.5.2 允许执行权限受限的命令 18 2.5.3 端口转发 18 2.6 对公共账户使用SSH 19 2.6.1 准备建立公共账户 19 2.6.2 监控公共账户 23 第3章 创建登录脚本和shell脚本 25 3.1 定制命令提示符 25 3.1.1 让提示符提供更多信息 25 3.1.2 使用有色的提示符 26 3.2 使用Tab补齐功能 29 3.2.1 配置Tab补齐功能 30 3.2.2 可编程的Tab补齐功能 30 3.2.3 使用定制的补齐函数 30 3.3 创建命令别名 31 3.3.1 使用别名提高效率 32 3.3.2 提高别名的一致性 32 3.4 创建影响多个系统的命令 35 3.4.1 简单的Multi-SSH 35 3.4.2 基于组的Multi-SSH 36 3.5 分发登录脚本 38 3.5.1 跟踪不同版本 39 3.5.2 分发登录脚本 39 第4章 安装之前:网络准备和管理 42 4.1 确定使用静态IP还是动态IP 42 4.2 创建和使用模块化shell脚本 43 4.3 使用锁定功能来防止冲突 43 4.4 基本的预安装脚本 44 4.5 预安装组件脚本 47 4.5.1 请求MAC地址 48 4.5.2 分配IP 49 4.5.3 对系统分类 50 4.5.4 收集联系人信息 52 4.5.5 添加到/etc/hosts文件中 52 4.5.6 配置DHCP服务器 53 4.5.7 更新DNS配置 54 4.6 如何处理错误 56 4.7 移除机器 57 4.7.1 移除MAC地址 58 4.7.2 回收IP 59 4.7.3 撤消系统 59 4.7.4 删除联系人条目 60 4.7.5 修改主机文件 60 4.7.6 配置DHCP 61 4.7.7 更新DNS配置 62 4.8 生成报告 63 4.8.1 有多少台机器 63 4.8.2 可用的IP地址有多少 64 4.8.3 正在使用哪些MAC地址 64 第5章 自动安装和定制安装 65 5.1 自动化安装 65 5.2 定制操作系统 66 5.2.1 是否应该定制操作系统 66 5.2.2 维护定制发行软件 67 5.3 准备进行自动化管理 67 5.3.1 远程配置新系统 68 5.3.2 自我配置的新系统 73 第6章 自动化系统配置 76 6.1 配置内容 76 6.1.1 定制文件 76 6.1.2 动态文件 77 6.1.3 默认文件 77 6.1.4 静态文件 77 6.1.5 文件系统组件 77 6.2 遵循的配置原则 78 6.3 创建定制配置方法 78 6.3.1 定义文件和目录结构 79 6.3.2 定义配置逻辑 82 6.3.3 提供配置脚本 82 6.3.4 分析示例配置文件的创建 88 6.4 使用GNU cfengine 配置系统 90 6.4.1 cfengine 概述 90 6.4.2 基本安装 94 6.4.3 调试cfengine 99 6.4.4 在cfagent.conf中创建代码段 100 6.4.5 使用cfrun 105 第7章 在系统间共享数据 107 7.1 数据类型 107 7.1.1 共享应用程序 108 7.1.2 用户数据 108 7.1.3 应用程序数据 109 7.1.4 系统信息 109 7.1.5 账号信息 110 7.2 使用网络文件系统 110 7.2.1 使用NFS共享数据 110 7.2.2 使用Samba共享文件 112 7.2.3 使用Andrew文件系统(AFS) 113 7.2.4 其他可用的网络文件系统 113 7.3 自动挂载网络文件系统 114 7.3.1 Solaris的自动挂载程序 115 7.3.2 Linux上的自动挂载程序(autofs) 116 7.3.3 am-utils的自动挂载程序 116 7.4 使用NIS/NIS+共享系统数据 118 7.4.1 创建NIS映射和NIS+表 119 7.4.2 /etc/nsswitch.conf 文件 120 7.4.3 netgroup文件 121 7.4.4 NIS细节 121 7.4.5 使用NIS的安全性问题 122 7.4.6 NIS+细述 122 7.5 使用轻量级目录访问协议(LDAP) 123 7.6 Kerberos的安全性 123 7.7 使用cfengine共享数据 124 7.7.1 分发文件 124 7.7.2 管理NFS的挂载 125 7.8 用rsync同步数据 129 7.8.1 rsync的潜在用途 130 7.8.2 决定使用哪一种rsync传输协议 131 7.8.3 rsync基本应用 131 7.8.4 rsync应用实例 133 7.9 用CVS管理和分发数据 135 7.9.1 CVS基础 135 7.9.2 系统管理脚本的分发 141 7.9.3 Web内容分发 144 7.10 用HTTP/FTP传输数据 145 7.10.1 实例:Web内容同步 146 7.10.2 简单实例:传输系统配置文件 146 7.10.3 进阶实例:传输系统配置文件 147 7.11 RPM 154 第8章 程序包和补丁 155 8.1 补丁和程序包 155 8.2 如何选择 156 8.3 如何开始 157 8.4 利用补丁更新系统 158 8.4.1 理解和应用Solaris补丁 158 8.4.2 定制补丁 164 8.5 理解和安装程序包 176 8.5.1 Red Hat程序包管理器(RPM) 177 8.5.2 Debian程序包 187 8.5.3 Slackware程序包 193 8.6 利用AutoRPM实现程序包的自动安装 197 8.6.1 基本的AutoRPM设置 198 8.6.2 在交互模式中工作 199 8.6.3 理解FTP池文件 200 8.6.4 配置文件示例 200 8.6.5 AutoRPM触发器 207 8.7 利用OpenPKG执行跨平台打包操作 208 8.7.1 安装OpenPKG 209 8.7.2 利用OpenPKG安装程序包 210 8.7.3 修改程序包 211 第9章 系统维护和更改 213 9.1 同步时间 214 9.1.1 设置时区 214 9.1.2 同步时钟 214 9.1.3 更新硬件时钟 215 9.2 管理账户 215 9.2.1 设计账户管理脚本 216 9.2.2 安排账户管理配置文件 217 9.2.3 账户管理辅助函数 218 9.2.4 账户管理主脚本 220 9.2.5 账户管理数据组件 222 9.2.6 修改组件 227 9.2.7 清除已删除用户 233 9.3 维护日志文件 235 9.3.1 Red Hat的 logrotate 235 9.3.2 利用spinlogs轮循日志 237 9.3.3 利用cfengine进行日志轮循 238 9.4 删除文件 238 9.4.1 定制驱动器清理 239 9.4.2 Red Hat的tmpwatch 240 9.4.3 利用cfengine删除文件 241 第10章 系统监控 243 10.1 常规系统监控 243 10.1.1 创建常规报告工具 244 10.1.2 监控系统负载 246 10.1.3 监视可用的磁盘空间 247 10.1.4 监控系统服务 248 10.1.5 监视程序包的变化 250 10.1.6 驱动器故障 251 10.2 监控系统日志 253 10.2.1 利用Logwatch进行日志监控 253 10.2.2 利用swatch进行实时日志监控 259 10.3 监控网络服务 260 10.3.1 自定义监控和自动修复 261 10.3.2 NetSaint(又名Nagios) 263 10.3.3 Mon 272 第11章 提高系统的安全性 276 11.1 利用GNU cfengine提高系统安全性 276 11.1.1 执行基本的文件检查 277 11.1.2 disable段 277 11.1.3 files段 278 11.1.4 控制网络服务 280 11.2 配置系统级的防火墙 282 11.2.1 防火墙配置文件 283 11.2.2 防火墙配置脚本 283 11.2.3 系统组 285 11.3 利用Tripwire监视文件 286 11.3.1 安装Tripwire 287 11.3.2 生成Tripwire策略文件 287 11.3.3 使用Tripwire 291 第12章 数据的备份与恢复 294 12.1 确定备份策略 294 12.2 使用cfengine备份数据 296 12.2.1 使用cfengine执行本地备份 296 12.2.2 在备份时排除文件 297 12.3 使用rsync备份数据 297 12.3.1 使用rsync进行基本的备份 298 12.3.2 增量备份 298 12.3.3 排除文件 299 12.4 使用rdiff-backup备份数据 300 12.4.1 使用rdiff-backup进行增量备份 300 12.4.2 删除旧的备份数据 301 12.4.3 恢复数据 303 12.4.4 在使用rdiff-backup备份时排除文件 303 12.5 使用tar进行磁带备份 304 12.5.1 使用tar进行基本的备份 305 12.5.2 使用tar创建增量备份 305 12.5.3 磁带的备份 306 12.5.4 使用tar进行备份时排除文件 307 12.5.5 从tar包中恢复数据 307 12.6 Amanda备份工具 308 第13章 用户界面 309 13.1 使用Webmin实现基于Web的管理 309 13.2 创建底层工作脚本 310 13.3 以root用户身份执行命令 313 13.4 设计并使用通用的数据文件 316 13.4.1 保存设置的通用文件格式 316 13.4.2 定义界面的规范 318 13.5 基于文本的界面 320 13.5.1 菜单界面 321 13.5.2 配置基于文本的界面 322 13.6 创建基于Web的界面 326 13.6.1 组织Web界面 327 13.6.2 Mason简介 327 13.6.3 HTTP认证的安全性 332 13.6.4 记录Web服务器的操作 334 13.6.5 创建并使用定制的Perl库 335 13.6.6 基于Web的系统总体状态信息 337 13.6.7 系统配置的Web界面 340 13.6.8 在Web上执行shell命令 342 附录A 基本工具介绍 351 附录B RedHat Linux的定制和自动安装 367 附录C 构建Red Hat程序包管理器(RPM)的程序包 379自动化系统管理技术可以帮助系统管理员从事繁重枯燥的任务中得以解脱。本书得用目前流行的bash、pert、grep、sed等工具软件详细地讲解了自动化系统管理领域最为实用的核心技术。主要内容涉及登录脚本、网络管理、自动化系统配置、数据共享、程序补丁、系统维护、系统监控、数据备份和系统安全等。 本书适合系统管理员以及准备学习系统管理知识的读者阅读。 ...
-
分类:网络应用 语言:简体中文 大小:未知 发布时间:12-11-21
内容简介: Exploit、缓冲区溢出漏洞是什么?它们有什么异同? 在网络安全技术飞速发展的今天,基于缓冲区溢出漏洞(以下简称漏洞)的研究已经越来越重要,无数网络安全爱好者开始关注网络安全技术的核心——漏洞发掘以及Exploit编写。“黑客通过某某漏洞攻破某某大型系统”、“某某企业系统漏洞导致上亿元的商业损失”……见诸报端的各种新闻似乎都在强调一个问题:“漏洞”是黑客恶意攻击的核心,是黑客入侵的最重要的“门户”! 对于真正喜欢网络安全技术,并愿意深入研究技术的朋友来说,各种非专业信息当然是不准确的,我们需要了解它们的本质意义。...
-
分类:数理化 语言:简体中文 大小:未知 发布时间:12-11-21
var cpro_id = 'u1056336'; 下面是学习资料下载列表,您可以点击这些文件名进行下载,如果不能下载,请查看下载帮助 Potential.Theory.in.Applied.Geophysics,.Kalyan.Kumar.Roy,.Springer,.2008.pd ... 10.49MB Finite.Mathematics,.Howard.L..Rolf,.7ed,.Brooks,.2011.pdf 11.38MB 物理学中的群论,.第二版,.马中骐,.2006.pdf 32.52MB A.Student's.Guide.to.Vectors.and.Tensors,.Daniel.A..Fleisch,.2012.pdf 6.21MB 全选 中文名: 物理学中的群论 简介: 用 Foxit Reader 最新版打开 pdf...
-
分类:编程开发 语言:简体中文 大小:未知 发布时间:12-11-20
var cpro_id = 'u1056336'; 下面是学习资料下载列表,您可以点击这些文件名进行下载,如果不能下载,请查看下载帮助 [Java虚拟机规范_JavaSE7].Tim.Lindholm&Frank.Yellin&Gilad.Bracha&Alex.Buckley.中文文 ... 2.97MB [Java编程规范].James.Gosling.中文扫描版.pdf 38.99MB [The.Java.Virtual.Machine.Specification_Java.SE.7.Edition].Tim.Lindholm&Fra ... 2.07MB [The.Java.Language.Specification_Java.SE.7.Edition].James.Gosling.英文文字版.pdf 2.97MB 全选 中文名: Java虚拟机规范 & Java语言规范 原名: The Java Virtual Machine Specification & The Java Language Specification 别名: 无 作者: Java虚拟机规范作者: Tim Lindholm Frank Yellin Gilad Bracha Alex Buckley Java语言规范作者: James Gosling Bill Joy Guy Steele Gilad Bracha Alex Buckley 译者: Java虚拟机规范译者: 周志明 吴璞渊 冶秀刚 Java语言规范译者: 陈宗斌 沈金河 图书分类: 软件 资源格式: PDF 版本: 文字版 影印版 出版社: 网络 书号: 0-321-24678-0 发行时间: 2011年 地区: 大陆,美国 语言: 简体中文,英文 简介: 目录: Java虚拟机规范 (Java SE 7版) 1 译者序 2 版权声明 4 目录 8 前言 14 第二版说明 15 Java SE 7版说明 15 第1章 引言 18 1.1 简史 18 1.2 Java虚拟机 18 1.3 各章节提要 19 1.4 说明 20 第2章 Java虚拟机结构 21 2.1 Class文件格式 21 2.2 数据类型 22 2.3 原始类型与值 22 2.3.1 整型类型与整型值 23 2.3.2 浮点类型、取值集合及浮点值 24 2.3.3 returnAddress类型和值 26 2.3.4 boolean类型 26 2.4 引用类型与值 27 2.5 运行时数据区 27 2.5.1 PC寄存器 28 2.5.2 Java虚拟机栈 28 2.5.3 Java堆 29 2.5.4 方法区 29 2.5.5 运行时常量池 30 2.5.6 本地方法栈 30 2.6 栈帧 31 2.6.1 局部变量表 32 2.6.2 操作数栈 33 2.6.3 动态链接 34 2.6.4 方法正常调用完成 34 2.6.5 方法异常调用完成 34 2.7 对象的表示 35 2.8 浮点算法 35 2.8.1 Java虚拟机和IEEE 754中的浮点算法 35 2.8.2 浮点模式 36 2.8.3 数值集合转换 37 2.9 初始化方法的特殊命名 38 2.10 异常 38 2.11 字节码指令集简介 40 2.11.1 数据类型与Java虚拟机 41 2.11.2 加载和存储指令 44 2.11.3 运算指令 45 2.11.4 类型转换指令 46 2.11.5 对象创建与操作 47 2.11.6 操作数栈管理指令 48 2.11.7 控制转移指令 48 2.11.8 方法调用和返回指令 49 2.11.9 抛出异常 49 2.11.10 同步 49 2.12 类库 50 2.13 公有设计,私有实现 51 第3章 为JAVA虚拟机编译 53 3.1 示例的格式说明 53 3.2 常量、局部变量的使用和控制结构 54 3.3 算术运算 58 3.4 访问运行时常量池 59 3.5 更多的控制结构示例 61 3.6 接收参数 64 3.7 方法调用 64 3.8 使用类实例 67 3.9 数组 69 3.10 编译switch语句 71 3.11 使用操作数栈 73 3.12 抛出异常和处理异常 74 3.13 编译finally语句块 78 3.14 同步 81 3.15 注解 82 第4章 Class文件格式 84 4.1 ClassFile结构 85 4.2 各种内部表示名称 89 4.2.1 类和接口的二进制名称 90 4.2.2 非全限定名 90 4.3 描述符和签名 91 4.3.1 语法符号 91 4.3.2 字段描述符 92 4.3.3 方法描述符 93 4.3.4 签名 94 4.4 常量池 96 4.4.1 CONSTANT_Class_info结构 97 4.4.2 CONSTANT_Fieldref_info, CONSTANT_Methodref_info和CONSTANT_InterfaceMethodref_info结构 98 4.4.3 CONSTANT_String_info结构 100 4.4.4 CONSTANT_Integer_info和CONSTANT_Float_info结构 100 4.4.5 CONSTANT_Long_info和CONSTANT_Double_info结构 102 4.4.6 CONSTANT_NameAndType_info结构 103 4.4.7 CONSTANT_Utf8_info结构 104 4.4.8 CONSTANT_MethodHandle_info结构 105 4.4.9 CONSTANT_MethodType_info结构 107 4.4.10 CONSTANT_InvokeDynamic_info结构 107 4.5 字段 108 4.6 方法 110 4.7 属性 113 4.7.1 自定义和命名新的属性 115 4.7.2 ConstantValue属性 116 4.7.3 Code属性 117 4.7.4 StackMapTable属性 120 4.7.5 Exceptions属性 126 4.7.6 InnerClasses属性 127 4.7.7 EnclosingMethod属性 130 4.7.8 Synthetic属性 131 4.7.9 Signature属性 132 4.7.10 SourceFile属性 132 4.7.11 SourceDebugExtension 属性 133 4.7.12 LineNumberTable属性 134 4.7.13 LocalVariableTable属性 135 4.7.14 LocalVariableTypeTable属性 137 4.7.15 Deprecated属性 139 4.7.16 RuntimeVisibleAnnotations属性 139 4.7.16.1 element_value结构 141 4.7.17 RuntimeInvisibleAnnotations 属性 143 4.7.18 RuntimeVisibleParameterAnnotations属性 144 4.7.19 RuntimeInvisibleParameterAnnotations属性 146 4.7.20 AnnotationDefault属性 147 4.7.21 BootstrapMethods属性 148 4.8 格式检查 150 4.9 Java虚拟机代码约束 150 4.9.1 静态约束 150 4.9.2 结构化约束 154 4.10 Class文件校验 156 4.10.1 类型检查验证 157 4.10.2 类型推导验证 158 4.10.2.1 类型推断的验证过程 158 4.10.2.2 字节码验证器 158 4.10.2.3 long和double类型的值 161 4.10.2.4 实例初始化方法与创建对象 162 4.10.2.5 异常和finally 163 4.11 Java虚拟机限制 165 第5章 加载、链接与初始化 167 5.1 运行时常量池 167 5.2 虚拟机启动 170 5.3 创建和加载 170 5.3.1 使用引导类加载器来加载类型 172 5.3.2 使用用户自定义类加载器来加载类型 172 5.3.3 创建数组类 173 5.3.4 加载限制 174 5.3.5 从Class文件中获取类 175 5.4 链接 176 5.4.1 验证 176 5.4.2 准备 177 5.4.3 解析 178 5.4.3.1 类与接口解析 179 5.4.3.2 字段解析 179 5.4.3.3 普通方法解析 180 5.4.3.4 接口方法解析 181 5.4.3.5 方法类型与方法句柄解析 182 5.4.3.6 调用点限定符解析 185 5.4.3 访问控制 185 5.4.5 方法覆盖 186 5.5 初始化 187 5.6 绑定本地方法实现 189 5.7 Java虚拟机退出 189 第6章 Java虚拟机指令集 190 6.1 设定:“必须”的含义 190 6.2 保留操作码 190 6.3 虚拟机错误 191 6.4 指令描述格式 191 6.5 指令集描述 193 第7章 操作码助记符 379 译者序 从1999年4月出版的《Java虚拟机规范(第二版)》至今,已经超过12年,虽然此规范在JDK 5发布的时候作了较大的更新,但却始终没有发布完整的规范。在今年6月28日,最新的《Java虚拟机规范(Java SE 7版)》终于完成并在7月份正式发布。对于想了解Java虚拟机的程序员来说,《Java虚拟机规范》是必须阅读的,对于想深入了解Java语言细节的程序员,阅读《Java虚拟机规范》也有极大好处,但是《Java虚拟机规范》、《Java语言规范》发布十余年,一直没有中文译本,这让中国不少对Java虚拟机感兴趣,但英语能力较弱的程序员都被拒之门外。 在2011年初,《Java虚拟机规范(Java SE 7版)》还是草稿状态时,我就开始关注这本书,并陆续对其中第1、2、6、7章进行了翻译,到2011年9月时完成了200余页的译稿。这时候又在国内著名Java社区ItEye中结识了另外两名译者吴璞渊和冶秀刚,我们在随后的两个多月的时间里共同完成了其余章节的翻译和校对。 《Java虚拟机规范》并非某一款虚拟机实现的说明书,它是一份保证各个公司的Java虚拟机实现具备统一外部接口的契约文档,书中的概念和细节描述曾经与Sun的早期虚拟机的实现高度吻合,但是随着技术的发展,高性能虚拟机真正的细节实现方式已经渐渐与虚拟机规范所描述的内容产生了越来越大的差距。原作者也在书中不同地方反复强调过:虚拟机规范中所提及的“Java虚拟机”皆为虚拟机的概念模型而非具体实现。实现只要保证与概念模型最终等效即可,而具体实现的方式无需受概念模型束缚。因此通过虚拟机规范去分析程序的执行语义问题(虚拟机会做什么)时,但分析程序的执行行为问题(虚拟机是怎样做的、性能如何)则意义不大,如需对具体虚拟机实现进行调优、性能分析等,我推荐在本书基础上继续阅读《Java Performance》和《Oracle JRockit The Definitive Guide》等书。 在翻译过程中,我们尽最大努力保证作品的准确性和可读性,力求在保证语义准确的前提下,尽可能使用通俗易懂的方式向给各位读者介绍Java虚拟机的约束与运作原理。为此目标,我们在专有技术名词、偏僻词中用括号保留了原文、专门在多处读者理解起来可能有困难的地方,添加了“译者注”加以解释。 囿于我们的水平和写作时间,书中难免存在不妥之处,大家如有任何意见或建议都欢迎通过以下邮件地址与我联系:icyfenix@gmail.com。本书的勘误与最新版本可以在以下网址中获取:http://www.icyfenix.com/jvms_javase7_cn/ 最后,请允许我再介绍一下本书三位译者的技术背景与分工: 周志明(www.icyfenix.com & weibo.com/icyfenix):远光软件平台开发部部门经理,平台架构师,不愿意脱离编码的一线码农。著有《深入理解Java虚拟机:JVM高级特性与最佳实践》。关注各种Java应用,略懂OSGi、Java虚拟机和工作流。在本书翻译工作中负责全文统稿;前言和第1、2、6、7章的翻译;第3、4、5章的校审工作。 吴璞渊(wupuyuan.iteye.com):就职于西门子,偏向程序和工作流设计,喜好Java各种新技术并倒腾。在本书翻译工作中负责第3章以及第4章的1至7节。。 冶秀刚(langyu.iteye.com):思科平台工程师,从事分布式系统的研究与开发,爱好Java平台技术且正在努力成长中。在本书翻译工作中负责第5章及第4章的9至11节。 让我们感谢这三位大牛吧,感谢他们无私的奉献!!! 附上官方出品的 Java虚拟机规范 和 Java语言规范,都是英文版的。 中文版的Java语言规范: ...
-
分类:编程开发 语言:简体中文 大小:未知 发布时间:12-11-20
var cpro_id = 'u1056336'; 下面是学习资料下载列表,您可以点击这些文件名进行下载,如果不能下载,请查看下载帮助 C#高级编程(中文第七版)(完整3级书签版).pdf 99.28MB 全选 中文名: C#高级编程(中文第七版) 原名: Professional C# 4.0 and .NET 4 别名: C#高级编程(第7版) 作者: (美)Christian Nagel Bill Evjen Jay Glynn. 译者: 李铭 图书分类: 软件 资源格式: PDF 版本: 影印版、清晰、完整书签版 出版社: (美)Christian Nagel Bill Evjen Jay Glynn. 书号: ISBN 978-7-302-23937-6 发行时间: 2010年11月 地区: 大陆 语言: 简体中文 简介: 目录: 第ⅰ部分 c# 语 言 第1章 .net体系结构 3 1.1 c#与.net的关系 3 1.2 公共语言运行库 4 1.2.1 平台无关性 4 1.2.2 提高性能 4 1.2.3 语言的互操作性 5 1.3 中间语言 6 1.3.1 面向对象和接口的支持 6 1.3.2 不同的值类型和引用类型 7 1.3.3 强数据类型化 8 1.3.4 通过异常处理错误 12 1.3.5 特性的使用 13 1.4 程序集 13 1.4.1 私有程序集 14 1.4.2 共享程序集 14 1.4.3 反射 14 1.4.4 并行编程 15 1.5 .net framework类 15 1.6 名称空间 16 .1.7 用c#创建.net应用程序 16 1.7.1 创建asp.net应用程序 16 1.7.2 创建windows窗体 18 1.7.3 使用wpf 18 1.7.4 windows控件 19 1.7.5 windows服务 19 1.7.6 wcf 19 1.7.7 windows wf 19 1.8 c#在.net企业体系结构 中的作用 19 1.9 小结 21 第2章 核心c# 23 2.1 第一个c#程序 23 2.1.1 代码 24 2.1.2 编译并运行程序 24 2.1.3 详细介绍 25 2.2 变量 26 2.2.1 变量的初始化 27 2.2.2 类型推断 28 2.2.3 变量的作用域 29 2.2.4 常量 31 2.3 预定义数据类型 32 2.3.1 值类型和引用类型 32 2.3.2 cts类型 33 2.3.3 预定义的值类型 33 2.3.4 预定义的引用类型 36 2.4 流控制 38 2.4.1 条件语句 38 2.4.2 循环 42 2.4.3 跳转语句 45 2.5 枚举 46 2.6 名称空间 47 2.6.1 using语句 49 2.6.2 名称空间的别名 49 2.7 main()方法 50 2.7.1 多个main()方法 50 2.7.2 给main()方法传递参数 52 2.8 有关编译c#文件的更多内容 52 2.9 控制台i/o 54 2.10 使用注释 56 2.10.1 源文件中的内部注释 56 2.10.2 xml文档 56 2.11 c#预处理器指令 58 2.11.1 #define和 #undef 59 2.11.2 #if, #elif, #else和#endif 59 2.11.3 #warning和 # error 60 2.11.4 #region和#endregion 61 2.11.5 #line 61 2.11.6 #pragma 61 2.12 c#编程规则 62 2.12.1 关于标识符的规则 62 2.12.2 用法约定 63 2.13 小结 68 第3章 对象和类型 69 3.1 类和结构 69 3.2 类 70 3.2.1 数据成员 70 3.2.2 函数成员 71 3.2.3 只读字段 83 3.3 匿名类型 84 3.4 结构 85 3.4.1 结构是值类型 86 3.4.2 结构和继承 87 3.4.3 结构的构造函数 87 3.5 部分类 87 3.6 静态类 89 3.7 object类 89 3.7.1 system.object()方法 90 3.7.2 tostring()方法 90 3.8 扩展方法 92 3.9 小结 93 第4章 继承 95 4.1 继承的类型 95 4.1.1 实现继承和接口继承 95 4.1.2 多重继承 95 4.1.3 结构和类 96 4.2 实现继承 96 4.2.1 虚方法 97 4.2.2 隐藏方法 98 4.2.3 调用函数的基类版本 99 4.2.4 抽象类和抽象函数 100 4.2.5 密封类和密封方法 100 4.2.6 派生类的构造函数 101 4.3 修饰符 106 4.3.1 可见性修饰符 106 4.3.2 其他修饰符 106 4.4 接口 107 4.4.1 定义和实现接口 108 4.4.2 派生的接口 111 4.5 小结 113 第5章 泛型 115 5.1 概述 115 5.1.1 性能 116 5.1.2 类型安全 117 5.1.3 二进制代码的重用 117 5.1.4 代码的扩展 117 5.1.5 命名约定 118 5.2 创建泛型类 118 5.3 泛型类的功能 122 5.3.1 默认值 123 5.3.2 约束 123 5.3.3 继承 126 5.3.4 静态成员 127 5.4 泛型接口 127 5.4.1 协变和抗变 128 5.4.2 泛型接口的协变 129 5.4.3 泛型接口的抗变 130 5.5 泛型结构 131 5.6 泛型方法 134 5.6.1 泛型方法示例 134 5.6.2 带约束的泛型方法 135 5.6.3 带委托的泛型方法 136 5.6.4 泛型方法规范 137 5.7 小结 138 第6章 数组 139 6.1 简单数组 139 6.1.1 数组的声明 139 6.1.2 数组的初始化 139 6.1.3 访问数组元素 140 6.1.4 使用引用类型 141 6.2 多维数组 142 6.3 锯齿数组 143 6.4 array类 144 6.4.1 创建数组 145 6.4.2 复制数组 146 6.4.3 排序 147 6.5 数组作为参数 150 6.5.1 数组协变 151 6.5.2 arraysegment[t] 151 6.6 枚举 152 6.6.1 ienumerator接口 152 6.6.2 foreach语句 153 6.6.3 yield语句 153 6.7 元组 158 6.8 结构比较 159 6.9 小结 162 第7章 运算符和类型强制转换 163 7.1 运算符 163 7.1.1 运算符的简化操作 165 7.1.2 运算符的优先级 169 7.2 类型的安全性 169 7.2.1 类型转换 170 7.2.2 装箱和拆箱 173 7.3 比较对象的相等性 174 7.3.1 比较引用类型的相等性 174 7.3.2 比较值类型的相等性 175 7.4 运算符重载 176 7.4.1 运算符的工作方式 177 7.4.2 运算符重载的示例: vector结构 178 7.5 用户定义的类型强制转换 185 7.5.1 实现用户定义的类型 强制转换 186 7.5.2 多重类型强制转换 192 7.6 小结 195 第8章 委托、lambda表达式 和事件 197 8.1 委托 197 8.1.1 声明委托 198 8.1.2 使用委托 199 8.1.3 简单的委托示例 202 8.1.4 action[t]和func[t] 委托 204 8.1.5 bubblesorter示例 204 8.1.6 多播委托 207 8.1.7 匿名方法 210 8.2 lambda表达式 211 8.2.1 参数 212 8.2.2 多行代码 212 8.2.3 lambda表达式外部的 变量 213 8.3 事件 214 8.3.1 事件发布程序 214 8.3.2 事件侦听器 216 8.3.3 弱事件 217 8.4 小结 220 第9章 字符串和正则表达式 221 9.1 system.string类 221 9.1.1 创建字符串 222 9.1.2 stringbuilder成员 225 9.1.3 格式字符串 226 9.2 正则表达式 231 9.2.1 正则表达式概述 232 9.2.2 regularexpressions playaround示例 233 9.2.3 显示结果 235 9.2.4 匹配、组合和捕获 237 9.3 小结 238 第10章 集合 239 10.1 集合接口和类型 239 10.2 列表 240 10.2.1 创建列表 241 10.2.2 只读集合 250 10.3 队列 250 10.4 栈 254 10.5 链表 256 10.6 有序列表 261 10.7 字典 262 10.7.1 键的类型 263 10.7.2 字典示例 264 10.7.3 lookup类 268 10.7.4 有序字典 269 10.8 集 269 10.9 可观察的集合 271 10.10 位数组 272 10.10.1 bitarray类 273 10.10.2 bitvector32结构 275 10.11 并发集合 277 10.12 性能 279 10.13 小结 281 第11章 linq 283 11.1 linq概述 283 11.1.1 列表和实体 283 11.1.2 linq查询 287 11.1.3 扩展方法 288 11.1.4 推迟查询的执行 289 11.2 标准的查询操作符 291 11.2.1 筛选 293 11.2.2 用索引筛选 293 11.2.3 类型筛选 294 11.2.4 复合的from子句 294 11.2.5 排序 295 11.2.6 分组 296 11.2.7 对嵌套的对象分组 297 11.2.8 连接 298 11.2.9 集合操作 300 11.2.10 合并 301 11.2.11 分区 302 11.2.12 聚合操作符 303 11.2.13 转换 304 11.2.14 生成操作符 305 11.3 并行linq 306 11.3.1 并行查询 306 11.3.2 分区器 307 11.3.3 取消 307 11.4 表达式树 308 11.5 linq提供程序 311 11.6 小结 311 第12章 动态语言扩展 313 12.1 dlr 313 12.2 dynamic类型 313 12.3 包含dlr scriptruntime 318 12.4 dynamicobject和 expandoobject 321 12.4.1 dynamicobject 321 12.4.2 expandoobject 323 12.5 小结 324 第13章 内存管理和指针 325 13.1 后台内存管理 325 13.1.1 值数据类型 325 13.1.2 引用数据类型 327 13.1.3 垃圾回收 328 13.2 释放非托管的资源 330 13.2.1 析构函数 330 13.2.2 idisposable接口 331 13.2.3 实现idisposable接口 和析构函数 332 13.3 不安全的代码 334 13.3.1 用指针直接访问内存 334 13.3.2 指针示例: pointerplayground 343 13.3.3 使用指针优化性能 347 13.4 小结 350 第14章 反射 351 14.1 自定义特性 351 14.1.1 编写自定义特性 352 14.1.2 自定义特性示例: whatsnewattributes 355 14.2 反射 358 14.2.1 system.type类 358 14.2.2 typeview示例 360 14.2.3 assembly类 362 14.2.4 完成whatsnew attributes示例 364 14.3 小结 368 第15章 错误和异常 369 15.1 异常类 369 15.2 捕获异常 371 15.2.1 实现多个catch块 373 15.2.2 在其他代码中捕获异常 376 15.2.3 system.exception属性 376 15.2.4 没有处理异常时所发生 的情况 377 15.2.5 嵌套的 try块 378 15.3 用户定义的异常类 379 15.3.1 捕获用户定义的异常 380 15.3.2 抛出用户定义的异常 382 15.3.3 定义用户定义的异常类 385 15.4 小结 387 第ⅱ部分 visual studio 第16章 visual studio 2010 391 16.1 使用visual studio 2010 391 16.1.1 创建项目 395 16.1.2 解决方案和项目的区别 401 16.1.3 windows应用程序代码 403 16.1.4 项目的浏览和编码 404 16.1.5 生成项目 411 16.1.6 调试代码 415 16.2 重构工具 418 16.3 面向多个版本的 .net framework 420 16.4 wpf、wcf、wf等 421 16.4.1 在visual studio 2010 中构建wpf应用程序 421 16.4.2 在visual studio 2010 中构建wf应用程序 423 16.5 小结 424 第17章 部署 425 17.1 部署的规划 425 17.1.1 部署选项 426 17.1.2 部署要求 426 17.1.3 部署.net运行库 427 17.2 简单的部署选项 427 17.2.1 xcopy部署 428 17.2.2 xcopy和web 应用程序 428 17.2.3 发布web站点 429 17.3 visual studio 2010安装 和部署项目 429 17.3.1 windows installer 430 17.3.2 创建安装程序 430 17.4 clickonce 437 17.4.1 clickonce操作 437 17.4.2 发布clickonce 应用程序 438 17.4.3 clickonce设置 438 17.4.4 clickonce文件的 应用程序缓存 439 17.4.5 应用程序的安全性 439 17.5 visual studio 2010 高级选项 440 17.5.1 文件系统编辑器 440 17.5.2 注册表编辑器 440 17.5.3 文件类型编辑器 440 17.5.4 用户界面编辑器 441 17.5.5 自定义动作编辑器 442 17.5.6 launch conditions 编辑器 443 17.6 小结 444 第ⅲ部分 基 础 第18章 程序集 447 18.1 程序集的含义 447 18.1.1 程序集的功能 448 18.1.2 程序集的结构 448 18.1.3 程序集清单 449 18.1.4 名称空间、程序集 和组件 449 18.1.5 私有程序集和共享 程序集 449 18.1.6 附属程序集 450 18.1.7 查看程序集 450 18.2 创建程序集 451 18.2.1 创建模块和程序集 451 18.2.2 程序集的特性 452 18.2.3 动态加载和创建 程序集 454 18.3 应用程序域 457 18.4 共享程序集 461 18.4.1 强名 462 18.4.2 使用强名获得完整性 462 18.4.3 全局程序集缓存 463 18.4.4 创建共享程序集 463 18.4.5 创建强名 464 18.4.6 安装共享程序集 465 18.4.7 使用共享程序集 465 18.4.8 程序集的延迟签名 466 18.4.9 引用 467 18.4.10 本机映像生成器 468 18.5 配置.net应用程序 469 18.5.1 配置类别 469 18.5.2 绑定程序集 470 18.6 版本问题 471 18.6.1 版本号 472 18.6.2 通过编程方式获取版本 472 18.6.3 绑定到程序集版本 473 18.6.4 发行者策略文件 474 18.6.5 运行库的版本 475 18.7 小结 476 第19章 检测 477 19.1 代码协定 477 19.1.1 前提条件 479 19.1.2 后置条件 480 19.1.3 常量 481 19.1.4 接口的协定 481 19.2 跟踪 483 19.2.1 跟踪源 484 19.2.2 跟踪开关 485 19.2.3 跟踪侦听器 486 19.2.4 筛选器 488 19.2.5 相关性 489 19.3 事件日志 492 19.3.1 事件日志体系结构 493 19.3.2 事件日志类 494 19.3.3 创建事件源 494 19.3.4 写入事件日志 495 19.3.5 资源文件 496 19.4 性能监控 500 19.4.1 性能监控类 500 19.4.2 性能计数器生成器 500 19.4.3 添加performance counter组件 503 19.4.4 perfmon.exe 505 19.5 小结 506 第20章 线程、任务和同步 507 20.1 概述 507 20.2 异步委托 508 20.2.1 投票 508 20.2.2 等待句柄 509 20.2.3 异步回调 510 20.3 thread类 512 20.3.1 给线程传递数据 513 20.3.2 后台线程 514 20.3.3 线程的优先级 515 20.3.4 控制线程 515 20.4 线程池 516 20.5 任务 517 20.5.1 启动任务 517 20.5.2 连续的任务 518 20.5.3 任务层次结构 519 20.5.4 任务的结果 520 20.6 parallel类 521 20.6.1 用parallel.for() 方法循环 521 20.6.2 使用parallel.foreach() 方法循环 523 20.6.3 通过parallel.invoke() 方法调用多个方法 524 20.7 取消架构 524 20.7.1 parallel.for()方法 的取消 524 20.7.2 任务的取消 526 20.8 线程问题 527 20.8.1 争用条件 527 20.8.2 死锁 530 20.9 同步 532 20.9.1 lock语句和线程安全 532 20.9.2 interlocked类 538 20.9.3 monitor类 539 20.9.4 spinlock结构 540 20.9.5 waithandle基类 540 20.9.6 mutex类 541 20.9.7 semaphore类 542 20.9.8 events类 544 20.9.9 barrier类 547 20.9.10 readerwriterlockslim 类 549 20.10 timer类 552 20.11 基于事件的异步模式 554 20.11.1 backgroundworker 类 554 20.11.2 启用取消功能 557 20.11.3 启用进度功能 558 20.11.4 创建基于事件的异步 组件 559 20.12 小结 563 第21章 安全性 565 21.1 身份验证和授权 565 21.1.1 标识和principal 565 21.1.2 角色 567 21.1.3 声明基于角色的安全性 567 21.1.4 客户端应用程序服务 568 21.2 加密 573 21.2.1 签名 575 21.2.2 交换密钥和安全传输 576 21.3 资源的访问控制 579 21.4 代码访问安全性 582 21.4.1 第2级安全透明性 582 21.4.2 权限 583 21.5 使用证书发布代码 588 21.6 小结 588 第22章 本地化 591 22.1 system.globalization 名称空间 591 22.1.1 unicode问题 592 22.1.2 区域性和区域 592 22.1.3 使用区域性 596 22.1.4 排序 600 22.2 资源 602 22.2.1 创建资源文件 602 22.2.2 资源文件生成器 602 22.2.3 resourcewriter 603 22.2.4 使用资源文件 604 22.2.5 system.resources 名称空间 607 22.3 使用visual studio的 windows窗体本地化 607 22.3.1 通过编程方式修改 区域性 612 22.3.2 使用自定义资源文件 613 22.3.3 资源的自动回退 614 22.3.4 外包翻译 615 22.4 用asp.net本地化 615 22.5 用wpf本地化 617 22.5.1 用于wpf的.net资源 618 22.5.2 xaml资源字典 619 22.6 自定义资源读取器 622 22.6.1 创建databaseresource reader类 623 22.6.2 创建databaseresource set类 625 22.6.3 创建databaseresource manager类 625 22.6.4 databaseresourcereader 的客户端应用程序 626 22.7 创建自定义区域性 626 22.8 小结 628 第23章 system.transactions 629 23.1 概述 629 23.1.1 事务处理阶段 630 23.1.2 acid属性 630 23.2 数据库和实体类 631 23.3 传统的事务 633 23.3.1 ado.net事务 633 23.3.2 system.enterprise services 634 23.4 system.transactions 635 23.4.1 可提交的事务 636 23.4.2 事务处理的升级 638 23.4.3 依赖事务 640 23.4.4 环境事务 642 23.5 隔离级别 649 23.6 自定义资源管理器 650 23.7 windows 7和windows server 2008的事务 656 23.8 小结 660 第24章 网络 661 24.1 webclient类 661 24.1.1 下载文件 662 24.1.2 基本的webclient示例 662 24.1.3 上传文件 663 24.2 webrequest类和 webresponse类 664 24.2.1 身份验证 666 24.2.2 使用代理 666 24.2.3 异步页面请求 666 24.3 把输出结果显示为 html页面 667 24.3.1 从应用程序中进行 简单的web浏览 667 24.3.2 启动internet explorer 实例 669 24.3.3 给应用程序提供更多 的ie类型特性 669 24.3.4 使用webbrowser控件 打印 674 24.3.5 显示请求页面的代码 674 24.3.6 webrequest类 和webresponse类的 层次结构 676 24.4 实用工具类 676 24.4.1 uri 676 24.4.2 ip地址和dns名称 677 24.5 较低层的协议 679 24.5.1 使用smtpclient 680 24.5.2 使用tcp类 682 24.5.3 tcpsend和tcpreceive 示例 682 24.5.4 tcp和udp 684 24.5.5 udp类 684 24.5.6 socket类 685 24.6 小结 689 第25章 windows服务 691 25.1 windows服务 691 25.2 windows服务的体系结构 692 25.2.1 服务程序 692 25.2.2 服务控制程序 694 25.2.3 服务配置程序 694 25.2.4 windows服务的类 694 25.3 创建windows服务程序 694 25.3.1 创建服务的核心功能 695 25.3.2 quoteclient示例 698 25.3.3 windows服务程序 699 25.3.4 线程和服务 703 25.3.5 服务的安装 704 25.3.6 安装程序 704 25.4 服务的监视和控制 708 25.4.1 mmc管理单元 708 25.4.2 net.exe实用程序 709 25.4.3 sc.exe实用程序 710 25.4.4 visual studio server explorer 710 25.4.5 编写自定义 servicecontroller类 710 25.5 故障排除和事件日志 718 25.6 小结 719 第26章 互操作性 721 26.1 .net和com 721 26.1.1 元数据 722 26.1.2 释放内存 722 26.1.3 接口 722 26.1.4 方法的绑定 724 26.1.5 数据类型 724 26.1.6 注册 724 26.1.7 线程 725 26.1.8 错误处理 726 26.1.9 事件 727 26.2 编组 727 26.3 从.net客户端中使用 com组件 728 26.3.1 创建com组件 728 26.3.2 创建rcw 734 26.3.3 使用rcw 735 26.3.4 使用com服务器和 动态语言扩展 736 26.3.5 线程问题 737 26.3.6 添加连接点 737 26.4 从com客户端中使用 .net组件 739 26.4.1 ccm 740 26.4.2 创建.net组件 740 26.4.3 创建类型库 741 26.4.4 com互操作特性 743 26.4.5 com注册 745 26.4.6 创建com客户端 应用程序 746 26.4.7 添加连接点 747 26.4.8 用sink对象创建 客户端 748 26.5 平台调用 750 26.6 小结 754 第27章 核心xaml 755 27.1 概述 755 27.1.1 元素映射到.net 对象上 756 27.1.2 使用自定义.net类 757 27.1.3 把特性用作属性 759 27.1.4 把特性用作元素 759 27.1.5 基本的.net类型 760 27.1.6 集合 760 27.1.7 构造函数 761 27.2 依赖属性 761 27.2.1 创建依赖类型 762 27.2.2 强制值回调 763 27.2.3 值变更回调和事件 764 27.2.4 事件的冒泡和隧道 764 27.3 附加属性 767 27.4 标记扩展 770 27.5 创建自定义标记扩展 770 27.6 xaml定义的标记扩展 772 27.7 读写xaml 772 27.8 小结 773 第28章 managed extensibility framework 775 28.1 mef的体系结构 775 28.2 协定 782 28.3 导出 783 28.3.1 导出属性和方法 787 28.3.2 导出元数据 789 28.4 导入 791 28.5 容器和出口提供程序 794 28.6 类别 797 28.7 小结 798 第29章 文件和注册表操作 799 29.1 管理文件系统 799 29.1.1 表示文件和文件夹 的.net类 800 29.1.2 path类 803 29.1.3 fileproperties示例 803 29.2 移动、复制和删除文件 808 29.2.1 filepropertiesandmovement 示例 808 29.2.2 filepropertiesandmovement 示例的代码 809 29.3 读写文件 812 29.3.1 读取文件 812 29.3.2 写入文件 814 29.3.3 流 815 29.3.4 缓存的流 816 29.3.5 使用filestream类读写 二进制文件 816 29.3.6 读写文本文件 821 29.4 映射内存的文件 827 29.5 读取驱动器信息 829 29.6 文件的安全性 831 29.6.1 从文件中读取acl 831 29.6.2 从目录中读取acl 832 29.6.3 添加和删除文件中 的acl项 833 29.7 读写注册表 835 29.7.1 注册表 835 29.7.2 .net注册表类 837 29.8 读写独立存储器 839 29.9 小结 844 第ⅳ部分 数 据 第30章 核心ado.net 847 30.1 ado.net概述 847 30.1.1 名称空间 848 30.1.2 共享类 848 30.1.3 数据库专用的类 849 30.2 使用数据库连接 850 30.2.1 管理连接字符串 851 30.2.2 高效地使用连接 852 30.2.3 事务 854 30.3 命令 855 30.3.1 执行命令 856 30.3.2 调用存储过程 860 30.4 快速数据访问: 数据读取器 862 30.5 管理数据和关系: dataset类 865 30.5.1 数据表 866 30.5.2 数据列 866 30.5.3 数据关系 871 30.5.4 数据约束 872 30.6 xml架构:用xsd 生成代码 875 30.7 填充dataset类 881 30.7.1 用数据适配器填充 dataset 882 30.7.2 从xml中填充 dataset类 883 30.8 持久化dataset类的修改 883 30.8.1 通过数据适配器进行 更新 883 30.8.2 写入xml输出结果 886 30.9 使用ado.net 887 30.9.1 分层开发 887 30.9.2 生成sql server的键 888 30.9.3 命名约定 891 30.10 小结 892 第31章 ado.net entity framework 893 31.1 ado.net entity framework概述 893 31.2 entity framework映射 894 31.2.1 逻辑层 895 31.2.2 概念层 897 31.2.3 映射层 898 31.3 entity client 899 31.3.1 连接字符串 900 31.3.2 entity sql 900 31.4 实体 901 31.5 对象上下文 904 31.6 关系 906 31.6.1 一个层次结构一个表 907 31.6.2 一种类型一个表 908 31.6.3 懒惰加载、延迟加载 和预先加载 909 31.7 对象查询 910 31.8 更新 913 31.8.1 对象跟踪 913 31.8.2 改变信息 914 31.8.3 附加和分离实体 916 31.8.4 存储实体的变化 916 31.9 linq to entities 917 31.10 小结 918 第32章 数据服务 919 32.1 概述 919 32.2 包含clr对象的自定义 宿主 920 32.2.1 clr对象 920 32.2.2 数据模型 922 32.2.3 数据服务 923 32.2.4 驻留服务 923 32.2.5 其他服务操作 924 32.3 http客户端应用程序 925 32.4 使用wcf数据服务和 ado.net entity framework 929 32.4.1 asp.net宿主和edm 929 32.4.2 使用system.data .service.client的.net 应用程序 931 32.5 小结 938 第33章 处理xml 939 33.1 .net支持的xml标准 940 33.2 system.xml名称空间 940 33.3 使用system.xml类 941 33.4 读写流格式的xml 942 33.4.1 使用 xmlreader类 942 33.4.2 使用xmlreader类进行 验证 946 33.4.3 使用xmlwriter类 947 33.5 在.net中使用dom 949 33.6 使用xpathnavigator类 954 33.6.1 system.xml.xpath 名称空间 954 33.6.2 system.xml.xsl 名称空间 959 33.6.3 调试xslt 963 33.7 xml和ado.net 965 33.7.1 将ado.net数据 转换为xml文档 965 33.7.2 把xml文档转换为 ado.net数据 970 33.8 在xml中序列化对象 972 33.9 linq to xml和.net 982 33.10 使用不同的xml对象 982 33.10.1 xdocument对象 982 33.10.2 xelement对象 983 33.10.3 xnamespace对象 984 33.10.4 xcomment对象 986 33.10.5 xattribute对象 986 33.11 使用linq查询xml 文档 987 33.11.1 查询静态的xml 文档 987 33.11.2 查询动态的xml 文档 989 33.12 xml文档的更多查询 技术 990 33.12.1 读取xml文档 990 33.12.2 写入xml文档 992 33.13 小结 993 第34章 .net编程和sql server 995 34.1 .net运行库的宿主 995 34.2 microsoft.sqlserver.server 997 34.3 用户定义的类型 998 34.3.1 创建udt 998 34.3.2 通过sql使用udt 1003 34.3.3 从客户端代码中使用 udt 1004 34.4 用户定义的聚合函数 1005 34.4.1 创建用户定义的 聚合函数 1006 34.4.2 使用用户定义的 聚合函数 1007 34.5 存储过程 1007 34.5.1 创建存储过程 1008 34.5.2 使用存储过程 1009 34.6 用户定义的函数 1010 34.6.1 创建用户定义的函数 1010 34.6.2 使用用户定义的函数 1010 34.7 触发器 1011 34.7.1 创建触发器 1011 34.7.2 使用触发器 1012 34.8 xml数据类型 1013 34.8.1 包含xml数据的表 1013 34.8.2 读取xml值 1014 34.8.3 数据的查询 1017 34.8.4 xml数据修改语言 (xml dml) 1019 34.8.5 xml索引 1020 34.8.6 强类型化的xml 1021 34.9 小结 1022 第ⅴ部分 显 示 第35章 核心wpf 1025 35.1 概述 1025 35.1.1 名称空间 1025 35.1.2 类层次结构 1027 35.2 形状 1028 35.3 几何图形 1030 35.4 变换 1032 35.5 画笔 1033 35.5.1 solidcolorbrush 1033 35.5.2 lineargradientbrush 1034 35.5.3 radialgradientbrush 1034 35.5.4 drawingbrush 1035 35.5.5 imagebrush 1035 35.5.6 visualbrush 1036 35.6 控件 1037 35.6.1 简单控件 1037 35.6.2 内容控件 1038 35.6.3 带标题的内容控件 1039 35.6.4 项控件 1040 35.6.5 带标题的项控件 1041 35.6.6 修饰 1041 35.7 布局 1042 35.7.1 stackpanel 1042 35.7.2 wrappanel 1043 35.7.3 canvas 1044 35.7.4 dockpanel 1044 35.7.5 grid 1045 35.8 样式和资源 1046 35.8.1 样式 1046 35.8.2 资源 1048 35.8.3 系统资源 1049 35.8.4 从代码中访问资源 1050 35.8.5 动态资源 1050 35.8.6 资源字典 1051 35.9 触发器 1052 35.9.1 属性触发器 1053 35.9.2 多触发器 1054 35.9.3 数据触发器 1055 35.10 模板 1056 35.10.1 控件模板 1057 35.10.2 数据模板 1060 35.10.3 样式化列表框 1061 35.10.4 itemtemplate 1062 35.10.5 列表框元素的控件 模板 1064 35.11 动画 1066 35.11.1 时间轴 1066 35.11.2 非线性动画 1069 35.11.3 事件触发器 1069 35.11.4 关键帧动画 1072 35.12 可见状态管理器 1073 35.13 3-d 1076 35.13.1 模型 1077 35.13.2 照相机 1079 35.13.3 光线 1079 35.13.4 旋转 1079 35.14 小结 1080 第36章 用wpf编写业务 应用程序 1083 36.1 数据绑定 1083 36.1.1 booksdemo应用程序 1084 36.1.2 用xaml绑定 1086 36.1.3 简单对象的绑定 1088 36.1.4 更改通知 1090 36.1.5 对象数据提供程序 1092 36.1.6 列表绑定 1094 36.1.7 主从绑定 1096 36.1.8 多绑定 1097 36.1.9 优先绑定 1099 36.1.10 值的转换 1100 36.1.11 动态添加列表项 1102 36.1.12 数据模板选择器 1103 36.1.13 绑定到xml上 1105 36.1.14 绑定的验证 1107 36.2 commanding 1111 36.2.1 定义命令 1112 36.2.2 定义命令源 1113 36.2.3 命令绑定 1113 36.3 treeview 1114 36.4 datagrid 1118 36.4.1 自定义列 1120 36.4.2 行的细节 1121 36.4.3 用datagrid进行分组 1121 36.5 小结 1124 第37章 用wpf创建文档 1125 37.1 文本元素 1125 37.1.1 字体 1125 37.1.2 texteffect 1127 37.1.3 内联 1128 37.1.4 块 1130 37.1.5 列表 1132 37.1.6 表 1132 37.1.7 块的锚定 1134 37.2 流文档 1135 37.3 固定文档 1136 37.4 xps文档 1140 37.5 打印 1141 37.5.1 用printdialog打印 1142 37.5.2 打印可见元素 1142 37.6 小结 1144 第38章 silverlight 1145 38.1 wpf和silverlight的比较 1145 38.2 创建silverlight项目 1146 38.3 导航 1148 38.4 网络 1152 38.4.1 创建ado.net entity data model 1153 38.4.2 为silverlight客户端 创建wcf服务 1153 38.4.3 调用wcf服务 1155 38.4.4 使用wcf数据服务 1158 38.4.5 使用system.net访问 服务 1160 38.5 浏览器集成 1162 38.5.1 调用javascript 1162 38.5.2 javascript调用 silverlight 1163 38.6 在浏览器外运行的 silverlight应用程序 1164 38.7 小结 1167 第39章 windows窗体 1169 39.1 创建windows窗体 应用程序 1169 39.2 control类 1175 39.2.1 大小和位置 1175 39.2.2 外观 1176 39.2.3 用户交互操作 1176 39.2.4 windows功能 1177 39.2.5 其他功能 1177 39.3 标准控件和组件 1178 39.3.1 button控件 1178 39.3.2 checkbox控件 1178 39.3.3 radiobutton控件 1179 39.3.4 combobox控件、 listbox控件和 checkedlistbox控件 1179 39.3.5 datagridview控件 1180 39.3.6 datetimepicker控件 1188 39.3.7 errorprovider组件 1188 39.3.8 imagelist组件 1189 39.3.9 label控件 1189 39.3.10 listview控件 1189 39.3.11 picturebox控件 1189 39.3.12 progressbar控件 1190 39.3.13 textbox控件、 richtextbox控件与 maskedtextbox控件 1190 39.3.14 panel控件 1191 39.3.15 flowlayoutpanel和 tablelayoutpanel 控件 1191 39.3.16 splitcontainer控件 1192 39.3.17 tabcontrol控件和 tabpages控件 1192 39.3.18 toolstrip控件 1193 39.3.19 menustrip控件 1194 39.3.20 contextmenustrip 控件 1194 39.3.21 toolstripmenuitem 控件 1194 39.3.22 toolstripmanager类 1194 39.3.23 toolstripcontainer 控件 1195 39.4 窗体 1195 39.4.1 form类 1195 39.4.2 多文档界面 1199 39.4.3 创建自己的用户控件 1200 39.5 小结 1200 第40章 核心asp.net 1201 40.1 asp.net概述 1201 40.1.1 asp.net文件的 处理方式 1202 40.1.2 web站点和web 应用程序 1202 40.1.3 asp.net中的状态 管理 1203 40.2 asp.net web窗体 1203 40.2.1 asp.net代码模型 1207 40.2.2 asp.net服务器控件 1208 40.3 ado.net和数据绑定 1222 40.3.1 更新事件登记 应用程序 1222 40.3.2 数据绑定的更多内容 1229 40.4 应用程序配置 1234 40.5 小结 1236 第41章 asp.net的功能 1237 41.1 用户控件和自定义控件 1238 41.1.1 用户控件 1238 41.1.2 pcsdemosite中的 用户控件 1242 41.1.3 自定义控件 1243 41.2 母版页 1247 41.2.1 在web页面中 访问母版页 1248 41.2.2 嵌套的母版页 1248 41.2.3 pcsdemosite中 的母版页 1249 41.3 站点导航 1250 41.3.1 添加站点地图文件 1251 41.3.2 pcsdemosite中 的导航 1252 41.4 安全性 1253 41.4.1 使用security setup 添加forms身份验证 功能 1254 41.4.2 实现登录系统 1255 41.4.3 web 登录服务器控件 1255 41.4.4 保护目录 1256 41.4.5 pcsdemosite中的 安全性 1257 41.5 主题 1259 41.5.1 把主题应用于页面 1259 41.5.2 定义主题 1260 41.5.3 pcsdemosite中的 主题 1260 41.6 web部件 1263 41.6.1 web部件应用程序 组件 1263 41.6.2 web部件示例 1264 41.7 asp.net ajax 1270 41.8 ajax的概念 1271 41.9 asp.net ajax 1273 41.9.1 核心功能 1273 41.9.2 asp.net ajax control toolkit 1275 41.10 asp.net ajax网站 示例 1276 41.11 支持asp.net ajax的 网站配置 1278 41.12 添加asp.net ajax 功能 1279 41.12.1 scriptmanager控件 1280 41.12.2 使用updatepanel 控件 1281 41.12.3 使用updateprogress 1283 41.12.4 使用扩展控件 1284 41.13 使用ajax库 1286 41.13.1 给web页面添加 javascript 1286 41.13.2 全局实用程序函数 1287 41.13.3 使用ajax库 javascript oop 扩展 1287 41.13.4 pagerequestmanager 对象和application 对象 1289 41.13.5 javascript的调试 1292 41.13.6 异步调用web方法 1293 41.13.7 asp.net应用程序 服务 1294 41.14 小结 1294 第42章 asp.net动态数据 和mvc 1297 42.1 路由 1298 42.1.1 查询字符串参数 1298 42.1.2 定义路由 1300 42.1.3 使用路由参数 1303 42.2 动态数据 1305 42.2.1 创建动态数据网站 1305 42.2.2 定制动态数据网站 1310 42.2.3 进一步开发 1314 42.3 mvc 1314 42.3.1 mvc的含义 1314 42.3.2 asp.net mvc的 含义 1315 42.3.3 简单的asp.net mvc 应用程序 1315 42.3.4 定制asp.net mvc 应用程序 1321 42.3.5 进一步开发 1329 42.4 小结 1330 第ⅵ部分 通 信 第43章 wcf 1333 43.1 wcf概述 1333 43.1.1 soap 1335 43.1.2 wsdl 1335 43.1.3 rest 1335 43.1.4 json 1336 43.2 简单的服务和客户端 1336 43.2.1 服务协定 1337 43.2.2 服务的实现 1338 43.2.3 wcf服务宿主和 wcf测试客户端 1338 43.2.4 自定义服务宿主 1340 43.2.5 wcf客户端 1342 43.2.6 诊断 1343 43.3 协定 1345 43.3.1 数据协定 1345 43.3.2 版本问题 1346 43.3.3 服务协定 1346 43.3.4 消息协定 1347 43.4 服务的实现 1348 43.4.1 以编程方式创建 客户端 1351 43.4.2 错误处理 1352 43.5 绑定 1353 43.6 宿主 1356 43.6.1 自定义宿主 1356 43.6.2 was宿主 1357 43.6.3 预配置的宿主类 1357 43.7 客户端 1358 43.8 双工通信 1360 43.9 小结 1362 第44章 windows wf 4 1363 44.1 hello world示例 1363 44.2 活动 1365 44.2.1 if活动 1366 44.2.2 invokemethod活动 1367 44.2.3 parallel活动 1367 44.2.4 delay活动 1368 44.2.5 pick活动 1368 44.3 自定义活动 1369 44.3.1 活动的验证 1370 44.3.2 设计器 1371 44.3.3 自定义复合活动 1373 44.4 工作流 1375 44.4.1 实参和变量 1376 44.4.2 workflowapplication 1377 44.4.3 workflowservicehost 1381 44.4.4 驻留设计器 1386 44.5 小结 1391 第45章 对等网络 1393 45.1 p2p网络概述 1393 45.1.1 客户端-服务器体系 结构 1393 45.1.2 p2p体系结构 1394 45.1.3 p2p体系结构的挑战 1395 45.1.4 p2p术语 1396 45.1.5 p2p解决方案 1396 45.2 microsoft windows peer-to-peer networking 1396 45.2.1 pnrp 1396 45.2.2 people near me 1399 45.3 构建p2p应用程序 1400 45.3.1 system.net.peertopeer 1400 45.3.2 system.net.peertopeer .collaboration 1405 45.4 小结 1408 第46章 消息队列 1409 46.1 概述 1409 46.1.1 使用消息队列的场合 1410 46.1.2 消息队列功能 1411 46.2 message queuing产品 1412 46.3 消息队列体系结构 1412 46.3.1 消息 1413 46.3.2 消息队列 1413 46.4 message queuing 管理工具 1414 46.4.1 创建消息队列 1414 46.4.2 消息队列属性 1415 46.5 消息队列的编程实现 1415 46.5.1 创建消息队列 1415 46.5.2 查找队列 1416 46.5.3 打开已知队列 1417 46.5.4 发送消息 1418 46.5.5 接收消息 1421 46.6 课程订单应用程序 1423 46.6.1 课程订单类库 1423 46.6.2 课程订单消息 发送程序 1424 46.6.3 发送优先级和可恢复 的消息 1425 46.6.4 课程订单消息接收 程序 1426 46.7 接收结果 1429 46.7.1 确认队列 1430 46.7.2 响应队列 1430 46.8 事务队列 1431 46.9 消息队列和wcf 1432 46.9.1 带数据协定的实体类 1432 46.9.2 wcf服务协定 1433 46.9.3 wcf消息接收 应用程序 1434 46.9.4 wcf消息发送 应用程序 1437 46.10 消息队列的安装 1438 46.11 小结 1438 第47章 syndication 1441 47.1 system.servicemodel. syndication名称空间 概述 1441 47.2 读取联合源的示例 1442 47.3 联合源的示例 1444 47.4 小结 1449 第ⅶ部分 附 录 附录a 1453 ***以下内容见随书附赠光盘*** 第48章 使用gdi+绘图 e1 48.1 理解绘图规则 e1 48.1.1 gdi和gdi+ e2 48.1.2 绘制图形 e3 48.1.3 使用onpaint()方法 绘制图形 e6 48.1.4 使用剪切区域 e7 48.2 测量坐标和区域 e9 48.2.1 point和pointf结构 e9 48.2.2 size和sizef结构 e10 48.2.3 rectangle和rectanglef 结构 e11 48.2.4 region e12 48.3 调试须知 e13 48.4 绘制可滚动的窗口 e14 48.5 世界、页面和设备坐标 e18 48.6 颜色 e19 48.6.1 rgb值 e19 48.6.2 命名颜色 e20 48.6.3 图形显示模式和安全 的调色板 e20 48.6.4 安全调色板 e21 48.7 画笔和钢笔 e21 48.7.1 画笔 e22 48.7.2 钢笔 e23 48.8 绘制图形和线条 e23 48.9 显示图像 e25 48.10 处理图像时的问题 e27 48.11 绘制文本 e28 48.12 简单的文本示例 e29 48.13 字体和字体系列 e30 48.14 示例:枚举字体系列 e31 48.15 编辑文本文档: capseditor示例 e33 48.15.1 invalidate()方法 e37 48.15.2 计算项的大小和文档 的大小 e38 48.15.3 onpaint()方法 e39 48.15.4 坐标转换 e41 48.15.5 响应用户的输入 e42 48.16 打印 e45 48.17 小结 e50 第49章 vsto e51 49.1 vsto概述 e51 49.1.1 项目类型 e52 49.1.2 项目功能 e54 49.2 vsto项目基础 e55 49.2.1 office对象模型 e55 49.2.2 vsto名称空间 e55 49.2.3 宿主项和宿主控件 e56 49.2.4 基本的vsto项目 结构 e57 49.2.5 globals类 e60 49.2.6 事件处理 e60 49.3 构建vsto解决方案 e61 49.3.1 管理应用程序级插件 e62 49.3.2 与应用程序和文档 交互操作 e63 49.3.3 ui的自定义 e64 49.4 示例应用程序 e68 49.5 小结 e78 第50章 maf e79 50.1 maf体系结构 e79 50.1.1 管道 e80 50.1.2 发现 e81 50.1.3 激活和隔离 e82 50.1.4 协定 e83 50.1.5 生命周期 e84 50.1.6 版本问题 e85 50.2 插件示例 e86 50.2.1 插件协定 e86 50.2.2 计算器插件视图 e87 50.2.3 计算器插件适配器 e88 50.2.4 计算器插件 e90 50.2.5 计算器宿主视图 e91 50.2.6 计算机宿主适配器 e91 50.2.7 计算器宿主 e93 50.2.8 其他插件 e97 50.3 小结 e97 第51章 enterprise services e99 51.1 使用enterprise services e99 51.1.1 简史 e100 51.1.2 使用enterprise services 的场合 e100 51.1.3 重要功能 e101 51.2 创建简单的com+应用 程序 e103 51.2.1 servicedcomponent类 e103 51.2.2 程序集的属性 e103 51.2.3 创建组件 e104 51.3 部署 e106 51.3.1 自动部署 e106 51.3.2 手工部署 e106 51.3.3 创建安装软件包 e106 51.4 组件服务管理器 e107 51.5 客户端应用程序 e108 51.6 事务 e109 51.6.1 事务的特性 e109 51.6.2 事务的结果 e110 51.7 示例应用程序 e111 51.7.1 实体类 e111 51.7.2 ordercontrol组件 e113 51.7.3 orderdata组件 e114 51.7.4 orderlinedata组件 e116 51.7.5 客户端应用程序 e117 51.8 集成wcf和enterprise services e118 51.8.1 wcf服务外观 e118 51.8.2 客户端应用程序 e122 51.9 小结 e123 第52章 目录服务 e125 52.1 active directory的 体系结构 e126 52.1.1 active directory的 功能 e126 52.1.2 active directory的 概念 e126 52.1.3 active directory数据 的特征 e129 52.1.4 指定架构 e130 52.2 active directory的 管理工具 e131 52.2.1 active directory users and computers工具 e131 52.2.2 adsi edit工具 e132 52.3 active directory编程 e133 52.3.1 system.directoryservices 名称空间中的类 e134 52.3.2 绑定到directory services e134 52.3.3 获取目录项 e138 52.3.4 对象集合 e140 52.3.5 缓存 e141 52.3.6 创建新对象 e141 52.3.7 更新目录项 e142 52.3.8 访问本地adsi对象 e143 52.3.9 在active directory 中搜索 e144 52.4 搜索用户对象 e148 52.4.1 用户界面 e148 52.4.2 获取架构命名上下文 e149 52.4.3 获取user类的属性名 e149 52.4.4 搜索用户对象 e150 52.5 账户管理 e152 52.5.1 显示用户信息 e152 52.5.2 创建用户 e153 52.5.3 重置密码 e153 52.5.4 创建组 e154 52.5.5 在组中添加用户 e154 52.5.6 查找用户 e154 52.6 dsml e155 52.6.1 system.directoryservices. protocols名称空间中 的类 e156 52.6.2 用dsml搜索 active directory对象 e156 52.7 小结 e157 第53章 c#、visual basic、 c++/cli和f# e159 53.1 名称空间 e160 53.2 定义类型 e161 53.2.1 引用类型 e161 53.2.2 值类型 e162 53.2.3 类型推断 e163 53.2.4 接口 e164 53.2.5 枚举 e165 53.3 方法 e166 53.3.1 方法的参数和返回 类型 e166 53.3.2 参数修饰符 e167 53.3.3 构造函数 e168 53.3.4 属性 e170 53.3.5 对象初始值设定项 e171 53.3.6 扩展方法 e171 53.4 静态成员 e172 53.5 数组 e173 53.6 控制语句 e174 53.6.1 if语句 e174 53.6.2 条件操作符 e174 53.6.3 switch语句 e175 53.7 循环 e176 53.7.1 for语句 e176 53.7.2 while和do…while 语句 e177 53.7.3 foreach语句 e178 53.8 异常处理 e178 53.9 继承 e180 53.9.1 访问修饰符 e180 53.9.2 关键字 e181 53.10 资源管理 e183 53.10.1 idisposable接口的 实现 e183 53.10.2 using语句 e184 53.10.3 重写finalize()方法 e184 53.11 委托 e186 53.12 事件 e188 53.13 泛型 e190 53.14 linq查询 e192 53.15 c++/cli混合本地代码 和托管代码 e192 53.16 c#的特殊功能 e193 53.17 小结 e194 第54章 .net remoting e195 54.1 使用.net remoting的 原因 e195 54.2 .net remoting术语详解 e197 54.2.1 客户端通信 e198 54.2.2 服务器端通信 e199 54.3 上下文 e199 54.3.1 激活 e200 54.3.2 特性和属性 e200 54.3.3 上下文之间的通信 e201 54.4 远程对象、客户端和 服务器 e201 54.4.1 远程对象 e201 54.4.2 简单的服务器应用 程序 e202 54.4.3 简单的客户端应用 程序 e203 54.5 .net remoting体系结构 e204 54.5.1 信道 e204 54.5.2 格式化程序 e207 54.5.3 channelservices和 remotingconfiguration e207 54.5.4 对象的激活 e209 54.5.5 消息接收器 e212 54.5.6 在远程方法中传递对象 e213 54.5.7 生命周期管理 e216 54.6 配置文件 e218 54.6.1 知名对象的服务器 配置 e220 54.6.2 知名对象的客户端 配置 e220 54.6.3 客户端激活的对象的 服务器配置 e221 54.6.4 客户端激活的对象的 客户端配置 e222 54.6.5 使用配置文件的 服务器代码 e222 54.6.6 使用配置文件的 客户端代码 e223 54.6.7 客户端信道的延迟 加载 e223 54.6.8 调试配置 e224 54.6.9 配置文件中的生命 周期服务 e224 54.6.10 格式化程序提供程序 e225 54.7 在asp.net中驻留远程 服务器 e225 54.8 类、接口和soapsuds e227 54.8.1 接口 e227 54.8.2 soapsuds e227 54.9 异步远程调用 e228 54.9.1 使用委托和 .net remoting e228 54.9.2 oneway特性 e229 54.10 .net remoting的 安全性 e229 54.11 远程处理和事件 e230 54.11.1 远程对象 e231 54.11.2 事件参数 e232 54.11.3 服务器 e233 54.11.4 服务器配置文件 e233 54.11.5 事件接收器 e234 54.11.6 客户端 e234 54.11.7 客户端配置文件 e235 54.11.8 运行程序 e236 54.12 调用上下文 e236 54.13 小结 e237 第55章 web服务和asp.net e239 55.1 soap e240 55.2 wsdl e241 55.3 web服务 e242 55.3.1 提供web服务 e242 55.3.2 使用web服务 e246 55.4 扩充事件登记示例 e248 55.4.1 事件登记 web服务 e249 55.4.2 事件登记客户端 e253 55.5 使用soap标题交换 数据 e256 55.6 小结 e261 第56章 linq to sql e263 56.1 linq to sql和 visual studio 2010 e264 56.1.1 调用products表 e265 56.1.2 添加linq to sql类 e265 56.1.3 o/r设计器概述 e266 56.1.4 创建product对象 e267 56.2 对象如何映射到linq 对象上 e269 56.2.1 datacontext对象 e270 56.2.2 table[tentity]对象 e274 56.3 脱离o/r设计器工作 e274 56.3.1 创建自己的自定义 对象 e274 56.3.2 通过自定义对象和 linq查询 e275 56.3.3 通过查询限制所调用 的列 e276 56.3.4 使用列名 e277 56.3.5 创建自己的 datacontext对象 e278 56.4 自定义对象和o/r 设计器 e279 56.5 查询数据库 e280 56.5.1 使用查询表达式 e280 56.5.2 查询表达式 e281 56.5.3 使用表达式筛选 e282 56.5.4 执行连接 e282 56.5.5 分组项 e284 56.6 存储过程 e285 56.7 小结 e286 第57章 wpf 3.0 e287 57.1 hello world示例 e287 57.2 活动 e288 57.2.1 ifelseactivity e289 57.2.2 parallelactivity e290 57.2.3 callexternalmethod activity e291 57.2.4 delayactivity e291 57.2.5 listenactivity e292 57.2.6 活动执行模型 e293 57.3 自定义活动 e293 57.3.1 活动的验证 e295 57.3.2 主题和设计器 e296 57.3.3 activitytoolboxitem 和图标 e297 57.3.4 自定义复合活动 e299 57.4 工作流 e305 57.4.1 顺序工作流 e305 57.4.2 状态机工作流 e305 57.4.3 给工作流传递参数 e307 57.4.4 从工作流中返回结果 e308 57.4.5 将参数绑定到活动上 e309 57.5 工作流运行库 e310 57.6 工作流服务 e310 57.6.1 持久性服务 e312 57.6.2 跟踪服务 e313 57.6.3 自定义服务 e315 57.7 与wcf集成 e316 57.8 驻留工作流 e318 57.9 工作流设计器 e319 57.10 从wf 3.x迁移到wf 4 e320 57.10.1 把活动代码提取到 服务中 e320 57.10.2 删除代码活动 e320 57.10.3 同时运行wf 3.x 和4 e321 57.10.4 考虑把状态机迁移到 流程图上 e321 57.11 小结 e321 本书是本人在网络中收集,下载来的时候书签并不完整,后来经由本人和朋友将其余书签添加完整后,分享给大家。希望总在线的朋友能将资源保存下去,不要让其断源哈,谢谢各位分享大师了,本人只是部分工作时间会在线的,大家帮忙接力吧 !!! 本书是Wrox畅销书,C#经典名著!2009年度全行业优秀畅销书。自第一版出版以来,都是国内读者的普遍好评,累计销量近十万册。 《C#高级编程(第7版)》的顶级专家作者团队首先复习了C#的基础知识,之后详细讲解了该语言和架构中的所有新增功能,使读者能立即开始编写Windows应用程序和ASP.NET Web应用程序。 本书几乎涵盖C#语言的所有功能,对于C#初学者和有经验的程序员是值得大力推荐的书籍。实践证明,本书是关于C# 和 Visual Studio的一本全面而且权威的参考书。 新的C# 4对于在Visual Studio 2010中编写代码是必不可少的。这本实用指南强调,C#是编写.NET 4应用程序的首选语言。《C#高级编程(第7版)》的顶级专家作者团队首先复习了C#的基础知识,之后详细讲解了该语言和架构中的所有新增功能,使读者能立即开始编写Windows应用程序和ASP.NET Web应用程序。 本书主要内容 ◆ 回顾.NET体系结构、对象、泛型、继承、数组、运算符、类型强制转换、委托、事件、Lambda表达式等 ◆ 详细论述C#中的动态对象、命名参数和可选参数、COM专用的交互操作功能、安全类型变体 ◆ 阐述.NET 4的新增功能、WF 4、ADO.NET 数据服务、MEF、并行任务库和PLINQ ◆ 深入探讨LINQ、WCF、WPF、流文档和固定文档及Silverlight等功能强大的技术 ◆ 回顾ASP.NET编程,介绍ASP.NET MVC和ASP.NET 动态数据等新功能 ◆ 讨论使用WCF、MSMQ、点对点和联合进行通信 ...
-
分类:网站建设 语言:简体中文 大小:未知 发布时间:12-11-20
var cpro_id = 'u1056336'; 下面是学习资料下载列表,您可以点击这些文件名进行下载,如果不能下载,请查看下载帮助 [网页制作与网站设计(第2版)].阳西述.扫描版.pdf 36.42MB 全选 中文名: 网页制作与网站设计(第2版) 作者: 阳西述 图书分类: 网络 资源格式: PDF 版本: 扫描版 出版社: 华中科技大学出版社 书号: 9787560971407 发行时间: 2011年8月 地区: 大陆 语言: 简体中文 简介: 目录: 第1章 网页与网站基础 第2章 使用网页工具制作静态网页 第3章 网页图形与图像处理 第4章 网站的规划与设计 第5章 JavaScript语言与行为 第6章 ASP动态网页基础 第7章 ASP动态网页数据库技术 参考文献 内容介绍: 本书共分为七章,主要内容包括:网页与网站基础、使用网页工具制作静态网页、网页图形与图像处理、网站的规划与设计、JavaScript语言与行为、动态网页ASP基础、ASP动态网页数据库技术等,本书可作为高等院校计算机专业、网络专业、信息专业、教育技术和电子商务等专业的网页与网站设计课程的教材,也可供网页与网站开发设计的工程技术人员参考。 内容截图: ...
-
分类:3D/动画 语言:简体中文 大小:未知 发布时间:12-11-19
var cpro_id = 'u1056336'; 下面是学习资料下载列表,您可以点击这些文件名进行下载,如果不能下载,请查看下载帮助 01_第一节.课程介绍.flv 6.92MB 02_第二节.场景分析.flv 9.76MB 03_第三节.主建筑基础颜色添加01.flv 15.56MB 04_第四节.主建筑基础颜色添加02.flv 14.24MB 05_第五节.主建筑基础颜色添加03.flv 18.96MB 06_第六节.添加污渍01.flv 21.74MB 07_第七节.添加污渍02.flv 17.7MB 08_第八节.添加污渍03.flv 25.73MB 09_第九节.添加破损效果01.flv 16.76MB 10_第十节.添加破损效果02.flv 25.54MB 11_第十一节.背景建筑贴图绘制01.flv 39.1MB 12_第十二节.背景建筑贴图绘制02.flv 19.95MB 13_第十三节.灯光设置.flv 24.1MB 14_第十四节.最终效果调整.flv 11.55MB 全选 中文名: 火星时代高级教程-Maya场景贴图绘制教程 主讲人: WHY 版本: Maya 发行日期: 2010年 地区: 大陆 对白语言: 普通话 文字语言: 简体中文 简介: 来源:火星时代 总时长:1小时21分53秒 专辑介绍:本套教程了主要使用Photoshop绘制一个场景贴图,共14章节。通过对场景的简单分析、主建筑基础颜色添加、添加污渍和灯光设置等内容学习,来了解掌握场景贴图绘制的相关知识,希望大家可以熟练运用。 目录: 01_课程介绍 02_场景分析 03_主建筑基础颜色添加01 04_主建筑基础颜色添加02 05_主建筑基础颜色添加03 06_添加污渍01 07_添加污渍02 08_添加污渍03 09_添加破损效果01 10_添加破损效果02 11_背景建筑贴图绘制01 12_背景建筑贴图绘制02 13_灯光设置 14_最终效果调整 ...
-
分类:编程开发 语言:简体中文 大小:未知 发布时间:12-11-19
var cpro_id = 'u1056336'; 下面是学习资料下载列表,您可以点击这些文件名进行下载,如果不能下载,请查看下载帮助 【渥瑞达】c.第一天(类和对象一).avi 213.56MB 【渥瑞达】c.第二天(类和对象二).avi 381.83MB 【渥瑞达】c.第三天(类和对象三).avi 424.99MB 【渥瑞达】c.第四天(类和对象四).avi 396.13MB 【渥瑞达】c.第五天上(运算符重载一).mp4 480MB 【渥瑞达】c.第五天下(运算符重载二).avi 16.81MB 【渥瑞达】c.第六天(运算符重载三).avi 288.96MB 【渥瑞达】c.第七天(构造函数和析构函数).avi 342.31MB 【渥瑞达】c.第八天(继承一).avi 317.14MB 【渥瑞达】c.第九天(继承二).avi 261.18MB 【渥瑞达】c.第十天上(继承三).avi 280.2MB 【渥瑞达】c.第十天下(继承四).avi 20.23MB 【渥瑞达】c.第十一天(继承五).avi 180.64MB 【渥瑞达】c.第十二天(异常处理).avi 248.92MB 【渥瑞达】c.第十三天(模板).avi 309.84MB 【渥瑞达】c.第十四天(标准模板库).avi 308.91MB 【渥瑞达】c.第十五天(文件的输入输出).avi 294.67MB 全选 中文名: iPhone开发教程:Linux/Unix下面向对象的C++软件开发视频教程 主讲人: 冉伟 版本: 完整版 发行日期: 2012年 地区: 大陆 对白语言: 普通话 文字语言: 简体中文 简介: 内容简介: 类和对象(第一、二、三、四天):类的整体介绍,构造函数和析构函数的初步了解,构造函数的重载,类和对象的使用,THIS指针,介绍了类的静态成员变量,友元类和友元函数,嵌套类 操作符重载(第五第六天):介绍了操作符重载和函数重载的区别,介绍了算术运算符重载,输出运算符重载,下标运算符重载,赋值运算符重载,自加自减运算符重载,相等运算符重载 构造函数和析构函数(第七天):介绍了构造函数和析构函数的调用,传值传引用传指针的区别,构造函数和类型转换,构造函数和数组 继承(第八、九、十、十一天):介绍了继承及其使用,组合和继承的区别,介绍了多态,派生类中的构造函数,析构函数和输出重载,介绍了虚函数,抽象类和纯虚函数,多重继承 异常处理(第十二天):介绍了错误条件语句,代码中处理错误的两种方式,异常处理具体实现,重复抛异常,自定义处理异常,介绍了未捕获的异常处理方式,异常规范 模板(第十三天):介绍了函数模板,类模板的具体使用 标准模板库(第十四天):介绍了命名空间,运行时的类型识别,字符串类string,介绍了标准模板库,介绍了容器,迭代器,介绍了vector容器类,list容器类,set集合,map映射 文件的输入输出(第十五天):介绍了文件类型,动态存取文件,文件的输入输出 本课程是由渥瑞达北美IT培训对外发行,任何人不能用此教程牟利,违者必究。但是:在不收取其他人费用的前提下,您可以自由的分发此视频教程。 !!!如果供源不足,可以登陆渥瑞达官方网站:www.neworigin.net 从华为网盘下载。!!! 联系我们: 网址:http://www.neworigin.net 电话:010-82669356;13522484499 E-mail:hr@neworigin.net 讲师简介: 冉伟老师,加拿大国籍,加拿大Carleton大学计算机科学双硕士。Sony Ericsson资深软件设计师,海外著名IT培训专家。3G嵌入式软件设计与软件质量专家,曾就职Motorola, Nokia等国际著名通讯企业。 内容截图: ...
-
分类:编程开发 语言:简体中文 大小:未知 发布时间:12-11-19
var cpro_id = 'u1056336'; 下面是学习资料下载列表,您可以点击这些文件名进行下载,如果不能下载,请查看下载帮助 【渥瑞达】c语言第一天(UNIX开发环境).avi 296.55MB 【渥瑞达】c语言第二天(UNIX基本命令).avi 352.64MB 【渥瑞达】c语言第三天(数据类型变量,运算符和表达式).avi 366.57MB 【渥瑞达】c语言第四天(控制流).avi 394.63MB 【渥瑞达】c语言第五天(函数).avi 404.15MB 【渥瑞达】c语言第六天(指针一).avi 391.48MB 【渥瑞达】c语言第七天(指针二).avi 384.38MB 【渥瑞达】c语言第八天(字符串和结构体).avi 384.78MB 【渥瑞达】c语言第九天(预处理和命令行参数).avi 392.8MB 全选 中文名: iPhone开发教程:Linux/Unix下C语言软件开发视频教程 主讲人: 冉伟 版本: 完整版 发行日期: 2012年 地区: 大陆 对白语言: 普通话 文字语言: 简体中文 简介: 内容简介: UNIX开发环境(第一第二天):介绍了UNIX下的开发环境,shell命令编译器,介绍了文件管理命令,目录管理命令,文件路径显示在屏幕上,查找文件路径,介绍了输出重定向,输入重定向,获取文件权限,文本文档编辑 数据类型和变量,运算符和表达式(第三天):介绍了变量和基本的数据类型,介绍了算术运算符,自加自减运算符,输出运算符和表达式,二元复合运算符,逻辑运算符,介绍了数据类型转换 控制流(第四天):介绍了if-else条件语句,switch条件语句,while循环语句,for循环语句 函数(第五天):介绍了函数的声明,函数的实现,函数的参数类型,函数的返回类型,介绍了内联函数,函数的重载 指针(第六第七天):介绍指针的定义,介绍了引用的定义,指针变量,指针变量的访问方法,指针初始化,传指针,指针变量做返回值,指向指针的指针,指针与数组的关系,指针的运算,指针的字节大小,如何访问指针变量,指针变量的初始化,函数的参数传递:值传递,指针传递和引用传递,申请和释放空间,引用类型及其使用,参数传递和返回值,指向函数的指针等 字符串和结构体(第八天):介绍了字符串的定义,字符串和字符数组的区别,管理字符串的函数,字符串数组,介绍了结构体类型声明,结构体类型,结构体初始化,机构体访问,机构体指针,结构体赋值等 预处理和命令行参数(第九天):介绍了宏替换和条件包含的使用,命令行参数的详细介绍等 本课程是由渥瑞达北美IT培训对外发行,任何人不能用此教程牟利,违者必究。但是:在不收取其他人费用的前提下,您可以自由的分发此视频教程。 讲师简介: 冉伟老师,加拿大国籍,加拿大Carleton大学计算机科学双硕士。Sony Ericsson资深软件设计师,海外著名IT培训专家。3G嵌入式软件设计与软件质量专家,曾就职Motorola, Nokia等国际著名通讯企业。 内容截图: ...
-
分类:编程开发 语言:简体中文 大小:未知 发布时间:12-11-19
var cpro_id = 'u1056336'; 下面是学习资料下载列表,您可以点击这些文件名进行下载,如果不能下载,请查看下载帮助 软件Keil4.rar 31.51MB 单片机高手之路-001(如何成为单片机高手).rar 54.74MB 单片机高手之路-002(指针的初步认识和例程).rar 84.36MB 单片机高手之路-003(按键的高级应用).zip 464.68MB 单片机高手之路-004(实战开发综合性项目).zip 115.42MB 最新全板子综合测试程序(效果超级帅).rar 69.65KB 手把手教你学单片机-001--(如何学习单片机).rar 19.49MB 手把手教你学单片机-002--(点亮你的LED).rar 76.88MB 手把手教你学单片机-003--(硬件基础:电容、三极管、译码器).rar 55.52MB 手把手教你学单片机-004--(流水灯和数码管).rar 67.73MB 手把手教你学单片机-005--(定时器学习).rar 49.29MB 手把手教你学单片机-006--(定时器.数码管综合实验).rar 55.97MB 手把手教你学单片机-007--(习题.硬件学习:复位电路、上下拉电阻等).rar 129.11MB 手把手教你学单片机-008--(中断的学习).rar 67.97MB 手把手教你学单片机-009--(点阵LED的学习).rar 104.38MB 手把手教你学单片机-010--(按键学习:独立按键和矩阵按键).rar 99.12MB 手把手教你学单片机-011--(UART串口通信).rar 65.63MB 手把手教你学单片机-012(IIC通信读写EEPROM).rar 96.1MB 手把手教你学单片机-013(UART通信深入学习).rar 100.93MB 手把手教你学单片机-014--(IIC深入学习).rar 59.45MB 手把手教你学单片机-015(1602液晶).rar 92.32MB 手把手教你学单片机-016(DS1302时钟学习).rar 44.16MB 手把手教你学单片机-017(温度传感器18B20).rar 39.6MB 手把手教你学单片机-018(红外通信的学习).rar 39.38MB 手把手教你学单片机-019(AD的学习PCF8591).rar 54.12MB 001-课件.rar 297.63KB 002-课件.rar 323.07KB 003课件.rar 453.47KB 004课件.rar 318.95KB 005课件.rar 315.55KB 006课件.rar 315.87KB 007课件.rar 316.76KB 008课件.rar 312.83KB 009课件.rar 499.12KB 010课件.rar 829.29KB 011课件.rar 665.43KB 012课件.rar 376.8KB 013课件.rar 511.34KB 014课件.rar 494.93KB 015课件.rar 1.13MB 016课件.rar 1.17MB 017课件.rar 1.21MB 018课件.rar 609.13KB 019课件.rar 2.67MB 虾米I代原理图.rar 304.98KB [手把手教你学单片机C语言单片机开发教程].Flash.Magic1.rar 1.78MB KEIL安装文件.rar 24.23MB PL2303驱动.rar 1.26MB [手把手教你学单片机C语言单片机开发教程].stc-isp-v4.80-not-setup.rar 3.06MB 关于STC下载软件出现控件版本过期或者Win7下无法打开的问题的解决方法STC-QA.doc 153KB 字模软件2.rar 256.3KB 串口调试助手.rar 550.54KB protel99安装文件.rar 78.39MB 逻辑分析仪分析红外、I2C、UART、SPI.pdf 3.02MB P89V51RD2中文手册.pdf 1.37MB STC89C51RC中文手册.pdf 2.79MB 高质量c编程指南.pdf 326.13KB 步进电机28BYJ规格书.pdf 113.51KB 51开发板实现计算器.rar 30.61KB P89V51RD2功能切换程序.rar 6.8KB 心电图程序.rar 12.88KB 检测开发板上电次数程序.rar 27.4KB 密码锁程序(虾米I代板子).rar 38.75KB 数码管电子时钟.rar 34.19KB 1602液晶电子钟.rar 35.06KB 跑马灯程序(按下按键修改跑灯方式).rar 20KB 俄罗斯方块程序.rar 125.13KB 贪吃蛇程序.rar 41.5KB 蜂鸣器音乐实验(致爱丽丝).rar 26.13KB 全板测试程序(多.c文件程序).rar 275.53KB 随机亮小灯程序.rar 9.7KB 水滴实验(水滴变大下落,带拖尾效果).rar 10.31KB 怒放的心.rar 10KB PCB布局.pdf 171.28KB 步进电机跳线示意图.rar 15.48KB Kingst51开发板原理图(protel99版本).Sch 117.99KB 全板子测试程序和视频.rar 19.41MB 全选 中文名: 单片机 视频教程 宋老师 手把手教你学单片机 C语言 51单片机开发 嵌入式 资源格式: 压缩包 发行日期: 2010年 地区: 大陆 对白语言: 普通话 文字语言: 简体中文 简介: 资源简介 由于现在电驴改革,所以本资源不能彻底下载,大家可以到我们主战去下载那个迅雷和BT种子,用迅雷或者BT软件可以直接打开。www.kingst.org最上边那个种子文件。 由于电驴资源有时候不够,下载经常速度慢,或者下载不下来,现在把所有视频上传到优酷超清,请大家可以直接到优酷观看。 视频教程在线观看(已上传超清视频):http://www.youku.com/playlist_show/id_4262873.html 主站www.kingst.org 金沙滩工作室小宋老师手把手教你学单片机,本单片机教程以持续更新的方式发布,从初级到提高,一步步带领同学们从初学者迈向成功的道路。 一直以来都想做点什么东西,关于单片机的。为什么同样是学单片机,有些同学就可以参加电子设计大赛,做出智能小车,机器人,各种好玩的东西,非常跩。而有些同学,上课认真听讲,自己拼命看书,却就是搞不明白单片机的所以然来,看完书的效果是看一遍,忘一遍,看十遍,忘十遍,有的理论即使知道了,真正用单片机设计,却一点也不会。其实我知道,许多朋友也想学单片机,或者正在学单片机,但是依靠自己摸索,进度很慢,一直学的不顺利。现在高校的单片机课程,比较注重讲解的是单片机的原理和构造,但是我们社会上对单片机更多注重的是应用。绝大多数同学都没见过单片机,那课程上的长篇大论就非常难以理解了。而对我们学习者来讲,我们将来是要应用这个单片机,而不是开发这个单片机,所以我觉得我们更应该注重对单片机的应用方式的学习。个人认为,单片机一点都不难学,主要还是一个方法问题。鉴于此,我给大家做了《手把手教你学单片机》这样一个教程,带领大家真正的学会单片机。 我们学习单片机,我认为,最重要的就是动手操作,动手实践,在实践中体会成长,在实践中体会快乐,那么进步就会非常快了。“实践,怎么实践,说起来轻松,可是我什么都不知道,起码该看明白书,知道单片机是什么我再去做”,估计这么想的同学不在少数,而且这样想的同学单片机水平一般都不高,呵呵。同学们有这个想法,是由于受到12年初等教育的教学模式的影响。因为初等教育,以记忆熏陶为主,不管是背诵还是计算,都是局限在课本上,几乎很少有与生活相关的实际内容。而实际技能呢,是通过不断反复试验得到的经验教训来提高自己能力的。就如同我们学开车一样,我们不懂汽车构造原理,我们不还是一样可以学...