词条 | 精通C#3.0与NET3.5高级编程 |
释义 | 《精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF》借助Visual Studio 2008开发工具,详细介绍了。NET框架中的4大开发利器:LINQ、WPF、WF和WCF。 书名:精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF 作者:丁士锋 朱毅 杨明羽 ISBN:9787302195528 页数:782 页 定价:89.00 出版社:清华大学出版社 出版时间:2009年 装帧:平装 开本:16开 内容简介C#是微软推出的一种面向对象开发语言,其能让已有经验的开发人员轻松上手,并在很短的时间内就可以使用C#高效地进行工作。这是读者选择C#的原因。目前最新的C#版本就是.NET 3.5框架上的C# 3.0。该书借助Visual Studio 2008开发工具,详细介绍了.NET框架中的4大开发利器:LINQ、WPF、WF和WCF。LINQ是集成查询语言,它在对象和数据之间建立一种对应关系,可以使用访问内存对象的方式查询数据集合。WPF是C#开发的图形平台,它改变了传统Windows程序员的开发观念和开发方式。WF不是一个独立的工作流应用程序,它提供了一些类库用于辅助工作流应用程序的开发,并提供了实现工作流应用程序时所需要实现的一些机制,比如持久化、补偿、跟踪机制等。WCF是远程通讯技术,其传承了SOA设计的优势。书中实例具有代表性、编码规范、讲解详细,可作为特定技术开发人员的指导教程,也可以让读者更深入地学习.NET 3.5框架的原理和组成。 作者简介丁士锋,毕业于国防科技大学计算机学院。有多年的大型软件系统开发经验,有近8年的.NET软件项目研发经验,擅长C#语言,对.NET框架及其底层机制有深入的理解。曾经任职于三星电子、诺基亚等公司,从事软件项目开发。对企业软件的设计与架构有深入的研究和大量经验,主导过多个大型的企业分布式项目的开发。 朱毅,毕业于上海交通大学,获信息工程、计算机科学双学士学位。之后又获得了复旦大学软件工程硕士学位。有6年多的.NET研发经验,涉及分布式系统、B/S体系结构系统、C/S体系结构系统的架构和开发。曾任职于西门子移动通信有限公司,担任项目经理,致力于企业ERP系统的架构。现任职于惠普有限公司ISEE项目组进行项目开发。长期活跃于各大技术社区,曾著有《.NET程序员面试指南》一书。业余时间喜欢阅读和旅游。 杨明羽,毕业于浙江大学计算机科学与技术专业,高级软件工程师。多年来一直从事软件开发和项目管理类工作,有近10年的软件开发经验。擅长C#语言,深入理解.NET框架底层机制,长期追踪.NET框架的最新技术。曾任职于263在线、阿里巴巴等网络公司。现任职于上海某大型网络科技公司,担任技术总监一职。 编辑推荐《精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF》从C# 3.0的基础语法和面向对象编程讲起,为初学者铺垫入门之路。然后重点讲解.NET 3.5框架的LINQ、WPF、WF及WCF四大开发技术。 《精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF》详细介绍了LINQ集成化查询技术,分析了LINQ to ADO.NET、LINQ To XML、LINQ to DataSet及LINQ to SQL 四种最重要的数据查询技术。 《精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF》对WPF技术进行了深入剖析和探索,通过它可以让基于窗体的应用程序、图像、视频、音频和文档及基于浏览器的网页有一个统一美观的UI。 《精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF》通过一个OA系统最常用的工作流程审核系统,深入分析了WF工作流定制技术的应用。 《精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF》深入透析了微软为SOA应用解决方案提供的WCF技术,并分析了通道模型、消息处理机制等跨领域信息交互技术。 《精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF》提供的示例和案例面向实际开发,意在加深读者对书中内容的理解,并提高读者的项目开发水平。 《精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF》提供了大量的图示帮助读者理解.NET 3.5框架,并对学习中经常遇到的问题,给出了大量技巧、注意和说明,帮助读者少走弯路。 特色:彻底颠覆传统窗体开发的瓶颈和弊端,用WPF实现全新的图形界面引擎 详解WPF的布局、XAML语言、模板、几何图形、画刷及数据绑定等技术 统一了Windows创建、显示和操作文档、媒体及用户界面UI的方式 详解最简单、最完善的工作流定制技术WF,轻松实现OA系统的流程规划 理清SOA与WCF的概念及设计思想,深入透析WCF分布式处理技术 提供500多个示例、4个综合案例,全面提升读者的开发水平 读者对象:需要全面学习.NET 3.5最新技术的程序员 C# 3.0初、中级学习人员 想要开发绚丽的WinForm窗体应用程序的人员 使用WPF进行应用程序开发的人员 需要学习LINQ集成查询技术的人员 进行OA系统开发的程序员 使用WCF进行远程通信的开发人员 需要深入理解.NET框架的开发人员 超值光盘内容:微软Visual Studio 2008学习版安装光盘 《精通C# 3.0与NET 3.5高级编程:LINQ、WCF、WPF、WF》所涉及的源代码 6小时多媒体视频讲解 随书附赠微软Visual Studio 2008学习版安装光盘 6小时多媒体视频讲解 资深.NET程序员,全新视角,解读.NET 3.5框架的最新技术趋势 深入剖析.NET 3.5框架的四大开发技术及.NET 3.5框架的底层机制 本丛书5种荣获“全国优秀畅销书奖”(科技类),本丛书累计销售超过100万册,本丛书先后被400余所培训机构选作参考书。 目录第1篇 C#面向对象开发基础第1章 .NET框架和Visual Studio 2008 开发工具 2 1.1 .NET 3.5框架一览 2 1.1.1 框架包含的开发语言 2 1.1.2 C#开发语言的特点 3 1.1.3 C#的运行机制 3 1.1.4 C#的类库框架 4 1.2 Visual Studio 2008 开发界面 4 1.2.1 Visual Studio 2008界面一览 5 1.2.2 菜单栏 5 1.2.3 工具栏 6 1.2.4 工具箱 7 1.2.5 属性窗口 7 1.2.6 解决方案资源管理器 7 1.2.7 服务器资源管理器 8 1.3 创建C#应用程序 9 1.3.1 控制台应用程序(Console) 9 1.3.2 Windows 应用程序(Forms) 10 1.3.3 ASP.NET 3.5网站 11 1.4 小结 12 第2章 C#的语法知识 13 2.1 变量、常量和表达式 13 2.1.1 常量 13 2.1.2 变量 13 2.1.3 变量的类型 14 2.1.4 类型转换 14 2.1.5 变量的作用域和生存周期 15 2.1.6 表达式 15 2.2 运算符 16 2.2.1 算术运算符 16 2.2.2 关系运算符和逻辑运算符 16 2.2.3 赋值运算符 17 2.2.4 ?运算符 17 2.2.5 运算符优先级 17 2.3 流程控制语句 18 2.3.1 if语句 18 2.3.2 switch语句 18 2.3.3 for语句 20 2.3.4 foreach语句 20 2.3.5 while语句 21 2.4 方法和函数 21 2.4.1 方法和函数的定义 21 2.4.2 函数的参数 22 2.4.3 函数的返回值 22 2.4.4 函数的重载 22 2.4.5 委托 23 2.5 泛型 23 2.5.1 什么是泛型 23 2.5.2 泛型的应用范围 24 2.6 小结 24 第3章 C#的面向对象特性 25 3.1 面向对象编程概述 25 3.1.1 什么是类和对象 25 3.1.2 用C#如何创建类 26 3.1.3 用C#如何创建对象 27 3.1.4 什么是面向对象编程 27 3.2 面向对象的技术 28 3.2.1 接口 28 3.2.2 用C#如何创建接口 28 3.2.3 继承 29 3.2.4 用C#如何实现继承 29 3.2.5 多态 30 3.2.6 用C#如何实现多态 31 3.3 面向对象开发的简单实例 31 3.3.1 面向对象功能设计 31 3.3.2 面向对象的类设计 32 3.3.3 面向对象的应用 32 3.4 小结 34 第2篇 C#中的LINQ开发第4章 LINQ查询基础 36 4.1 LINQ基础概念 36 4.1.1 什么是LINQ 36 4.1.2 如何使用LINQ 37 4.1.3 LINQ查询 38 4.2 LINQ查询表达式 39 4.2.1 查询表达式 39 4.2.2 用from子句指定数据源 40 4.2.3 用select子句指定目标数据 41 4.2.4 用where子句指定筛选条件 44 4.2.5 用orderby子句进行排序 46 4.2.6 用group子句进行分组 48 4.2.7 用from子句进行复合查询 50 4.2.8 用join子句进行联接 52 4.2.9 用join子句进行内部联接 52 4.2.10 用join子句进行分组联接 53 4.2.11 用join子句进行左外部联接 54 4.3 LINQ查询方法 55 4.3.1 IEnumerable接口 55 4.3.2 Lambda表达式 57 4.3.3 用Where()方法进行筛选 58 4.3.4 用OrderBy()方法进行排序 60 4.3.5 用Skip()、SkipWhile()跳过元素 62 4.3.6 用Take()、TakeWhile()提取元素 63 4.3.7 用Max()等对元素进行数值计算 64 4.3.8 用Distinct()消除集合中相等的元素 66 4.3.9 用Concat()连接两个集合 68 4.3.10 用Union()等进行集合操作 69 4.4 小结 71 第5章 LINQ to ADO.NET——支持LINQ 语言与ADO.NET的交互 72 5.1 LINQ to ADO.NET概述 72 5.1.1 LINQ to DataSet概述 72 5.1.2 LINQ to SQL概述 73 5.2 LINQ to DataSet——实现复杂数据查询 74 5.2.1 使用LINQ to DataSet 74 5.2.2 查询单个数据表 75 5.2.3 查询多个数据表 78 5.2.4 用查询创建数据表 81 5.2.5 修改表中字段数据 83 5.2.6 使用数据视图DataView 84 5.3 LINQ to SQL——对象模型 87 5.3.1 对象模型的原理 87 5.3.2 生成对象关系设计器 88 5.3.3 对象关系设计器的构成 90 5.3.4 深入LINQ to SQL类 91 5.3.5 通过绑定浏览数据库记录 93 5.3.6 用LINQ查询LINQ to SQL类 95 5.3.7 修改数据库记录 96 5.4 小结 98 第6章 LINQ To XML——支持LINQ语言与 XML语言的交互 99 6.1 LINQ to XML概述 99 6.1.1 什么是LINQ to XML 99 6.1.2 LINQ to XML与DOM 101 6.2 构造XML树 102 6.2.1 构造简单的XML元素 102 6.2.2 构造具有属性的XML元素 104 6.2.3 构造具有子元素的XML元素 107 6.2.4 用XElement类构造XML树 108 6.3 查询XML树 109 6.3.1 查找具有特定属性的元素 109 6.3.2 查找具有特定子元素的元素 111 6.3.3 对XML元素进行排序 112 6.3.4 基于上下文查询元素 113 6.4 操作XML树 115 6.4.1 加载和保存XML树 115 6.4.2 添加元素到XML树 116 6.4.3 移除XML树的元素和属性 118 6.5 小结 122 第3篇 WPF美轮美奂技术第7章 WPF编程入门 126 7.1 WPF概述 126 7.1.1 理解Windows图形系统 126 7.1.2 WPF的功能特点 127 7.1.3 WPF架构简介 127 7.1.4 WPF的类层次结构 128 7.2 WPF开发工具简介 130 7.2.1 Visual Studio 2008开发工具 130 7.2.2 Microsoft Expression Blend设计工具 131 7.2.3 XAMLPad标记文本查看器 132 7.2.4 ZAM 3D第三方工具(3D模型) 133 7.3 第一个WPF应用程序 133 7.4 WPF应用程序结构 135 7.5 WPF与.NET Framework 3.5平台 135 7.5.1 Windows Communication Foundation概述 136 7.5.2 Windows CardSpace概述 137 7.5.3 Windows Workflow Foundation 概述 137 7.6 小结 138 第8章 XAML标记语言 139 8.1 理解XAML 139 8.1.1 XAML是什么 139 8.1.2 用C#模拟XAML实现的内容 141 8.1.3 XAML的种类 143 8.2 XAML基础 143 8.2.1 命名空间 144 8.2.2 代码后置文件 146 8.2.3 使用简单的属性和类型转换器 149 8.2.4 属性语法与属性元素语法 150 8.2.5 标记扩展特性 152 8.2.6 附加属性 153 8.2.7 特定的字符和空白 155 8.2.8 在XAML中使用事件 157 8.2.9 使用其他命名空间中的类型 158 8.2.10 加载和编译XAML 160 8.3 小结 164 第9章 Application全局应用程序类 166 9.1 应用程序生命周期 166 9.1.1 创建Application对象 166 9.1.2 创建一个自定义的Application类 168 9.1.3 关闭应用程序 169 9.1.4 应用程序事件 170 9.2 事件执行周期 171 9.2.1 Startup应用程序启动事件 171 9.2.2 Activated和Deactiveated事件——激活与取消激活 172 9.2.3 DispatherUnhandledException事件——处理应用程序未处理的异常 173 9.2.4 SessionEnding事件——注销或关闭系统 174 9.2.5 Exit事件——退出应用程序 175 9.3 Application类的任务 177 9.3.1 处理命令行参数 177 9.3.2 访问当前的应用程序 178 9.3.3 单实例应用程序 181 9.4 小结 185 第10章 WPF布局 187 10.1 理解WPF布局 187 10.1.1 WPF的布局原理 187 10.1.2 布局的过程 188 10.1.3 布局容器 188 10.2 使用StackPanel进行简单地布局 189 10.2.1 StackPanel示例 189 10.2.2 StackPanel布局属性 191 10.3 使用WrapPanel和DockPanel 193 10.3.1 使用WrapPanel控件布局 193 10.3.2 使用DockPanel控件布局 194 10.3.3 简单对话框的实现 196 10.4 Grid控件 198 10.4.1 创建Grid控件 198 10.4.2 调整行列尺寸 199 10.4.3 编程创建Grid控件 201 10.4.4 合并行和列 203 10.4.5 窗体分割 205 10.4.6 共享尺寸组 208 10.4.7 使用UniformGrid控件 212 10.5 基于坐标布局的Canvas 212 10.5.1 Canvas控件的使用方法 213 10.5.2 Canvas的Z轴 214 10.5.3 InkCanvas介绍 214 10.6 小结 217 第11章 内容控件 218 11.1 理解内容控件 218 11.1.1 什么是内容控件 218 11.1.2 Content属性介绍 220 11.1.3 内容的对齐属性 222 11.2 内容容器控件 223 11.2.1 ScrollViewer滚动条控件 223 11.2.2 GroupBox组合框和TabItem标签页控件 227 11.2.3 Expander可折叠控件 229 11.3 装饰控件 232 11.3.1 Border边框控件 232 11.3.2 Viewbox自动缩放控件 233 11.4 小结 235 第12章 WPF依赖属性和事件路由 236 12.1 WPF中的树 236 12.1.1 逻辑树和视觉树 236 12.1.2 编程遍历树结构 238 12.2 理解依赖属性 239 12.2.1 依赖属性的概念 240 12.2.2 定义依赖属性 242 12.2.3 依赖属性示例 244 12.2.4 共享依赖属性 248 12.2.5 注册附加属性 249 12.3 理解事件路由 250 12.3.1 路由事件的概念 250 12.3.2 定义和注册路由事件 253 12.3.3 事件路由策略 254 12.3.4 RoutedEventArgs类型的参数 257 12.3.5 附加事件 258 12.4 WPF中的事件 259 12.4.1 生命周期事件 259 12.4.2 键盘事件 261 12.4.3 键盘焦点 264 12.4.4 键盘状态 265 12.4.5 鼠标事件 266 12.4.6 捕捉鼠标 270 12.4.7 鼠标拖放编程 272 12.4.8 文件拖放示例 275 12.5 小结 277 第13章 标准控件 278 13.1 控件基础 278 13.1.1 背景色和前景色画刷 278 13.1.2 透明度设置 280 13.1.3 更改字体 281 13.1.4 更改鼠标光标 282 13.2 内容控件 286 13.2.1 Label标签控件 286 13.2.2 Button控件 287 13.2.3 CheckBox和RadioButton控件 290 13.2.4 ToolTip提示控件 291 13.2.5 使用ToolTipService对象ToolTip 293 13.2.6 使用Popup控件 295 13.3 文本控件 298 13.3.1 TextBox控件 299 13.3.2 选择文本 300 13.3.3 PasswordBox密码框控件 301 13.3.4 TextBlock控件 303 13.4 列表控件 305 13.4.1 ListBox列表框控件 305 13.4.2 获取ListBox选定项 307 13.4.3 在ListBox中进行多选 309 13.4.4 ComboBox下拉列表框控件 310 13.5 范围控件 313 13.5.1 ProgressBar进度条控件 313 13.5.2 Slider滑动条控件 314 13.6 小结 317 第14章 窗口与导航 318 14.1 Windows类简介 318 14.1.1 Window类的基本属性 319 14.1.2 窗口的生命周期 322 14.1.3 模式与非模式窗口 324 14.1.4 窗口的定位和尺寸 325 14.1.5 保存和恢复窗口位置 326 14.2 对话框窗口 327 14.2.1 窗口的宿主 327 14.2.2 对话框模型 328 14.2.3 MessageBox消息框 330 14.2.4 通用对话框 331 14.3 非矩形窗口 333 14.3.1 圆角窗口 334 14.3.2 图形窗口 335 14.3.3 调整非矩形窗口尺寸 337 14.4 一个简单的导航应用程序示例 338 14.5 基于页面的用户界面 340 14.5.1 Page类简介 340 14.5.2 使用Hyperlink超级链接 341 14.5.3 片段导航 342 14.5.4 NavigationWindow导航窗口 343 14.5.5 Frame页面框架 344 14.5.6 导航历史记录 347 14.6 NavigationService导航服务 348 14.6.1 编程控制导航 348 14.6.2 导航生命期事件 350 14.6.3 导航记录管理 353 14.6.4 使用页函数PageFunction 357 14.7 XAML浏览器应用程序 360 14.7.1 XBAP的特点 361 14.7.2 创建XBAP应用程序 361 14.8 小结 362 第15章 WPF资源、样式和控件模板 363 15.1 程序集资源 363 15.1.1 添加资源 363 15.1.2 获取程序集资源 364 15.2 对象资源 365 15.2.1 资源集合 366 15.2.2 静态和动态资源 368 15.2.3 非共享资源 368 15.2.4 编程访问资源 369 15.2.5 应用程序资源 369 15.2.6 系统资源 370 15.2.7 使用资源字典组织资源 371 15.3 样式基础 372 15.3.1 创建一个样式对象 373 15.3.2 在样式中设置属性 374 15.3.3 根据指定的类型自动应用样式 375 15.3.4 多级样式 376 15.3.5 绑定事件处理器 377 15.4 样式触发器 378 15.4.1 创建简单触发器 378 15.4.2 创建事件触发器 381 15.4.3 数据触发器 381 15.5 控件模板 383 15.5.1 理解控件模板 384 15.5.2 一个按钮模板示例 384 15.5.3 模板的绑定 386 15.5.4 模板触发器 387 15.6 小结 389 第16章 形状、变换和画刷 390 16.1 WPF图形 390 16.1.1 Shape类 390 16.1.2 Rectangle和Ellipse类 391 16.1.3 Stretch属性 392 16.1.4 Line直线对象 393 16.1.5 Polyline多段线对象 394 16.1.6 Polygon多边形对象 395 16.1.7 线帽和线连接点 397 16.1.8 绘制虚线 398 16.2 画刷 399 16.2.1 LinearGradientBrush线性渐变画刷 399 16.2.2 RadialGradientBrush径向渐变画刷 401 16.2.3 ImageBrush图像画刷 402 16.2.4 VisualBrush可视化对象画刷 404 16.2.5 OpacityMask不透明蒙板 405 16.3 WPF变换 407 16.3.1 应用变换 408 16.3.2 TranslateTransform移动变换 409 16.3.3 RotateTransform旋转变换 409 16.3.4 ScaleTransform缩放变换 410 16.3.5 SkewTransform扭曲变换 411 16.3.6 TransformGroup组合变换 412 16.4 位图效果 413 16.4.1 模糊 414 16.4.2 凹凸效果 415 16.4.3 浮雕效果 416 16.4.4 发光和阴影 417 16.5 小结 418 第17章 几何图形、图像和可视化层 419 17.1 路径和几何图形 419 17.1.1 线型、矩形和椭圆几何图形 419 17.1.2 使用GeometryGroup组合形状 420 17.1.3 使用CombinedGeometry结合形状 422 17.1.4 认识PathGeometry对象 423 17.1.5 用PathGeometry对象绘制直线 424 17.1.6 用PathGeometry对象绘制弧线 424 17.1.7 用PathGeometry对象绘制贝塞尔曲线 425 17.1.8 使用几何迷你语言 426 17.1.9 几何图形的裁切 427 17.2 绘图 428 17.2.1 绘制形状 428 17.2.2 绘制图像 430 17.2.3 组合绘制 430 17.3 可视化层 431 17.3.1 在Visual上绘图 432 17.3.2 DrawingVisual宿主容器 433 17.3.3 使用命中测试 435 17.4 小结 437 第18章 WPF数据绑定 438 18.1 数据绑定基础 438 18.1.1 绑定到元素属性 438 18.1.2 使用程序代码创建绑定 439 18.1.3 绑定多个属性 440 18.1.4 绑定的方向 441 18.1.5 绑定更新 443 18.1.6 绑定到非元素的对象 444 18.2 数据库绑定 448 18.2.1 创建数据访问组件 448 18.2.2 实现数据实体对象 450 18.2.3 显示绑定对象 450 18.2.4 更新数据库 452 18.3 小结 454 第4篇 WF工作流编程第19章 WF编程入门 456 19.1 WF基础 456 19.1.1 WF简介 456 19.1.2 WF的开发环境 458 19.1.3 第一个工作流示例程序 459 19.1.4 WF架构简介 463 19.2 使用WorkflowRuntime和WorkflowInstance类 464 19.2.1 理解WorkflowRuntime工作流引擎 464 19.2.2 理解WorkflowInstance工作流实例 467 19.3 工作流类型和创建模式 469 19.3.1 WF工作流的类型 469 19.3.2 一个简单的状态机工作流示例 469 19.3.3 WF工作流的创建模式 471 19.4 小结 472 第20章 WF活动 473 20.1 理解WF活动 473 20.1.1 活动的类层次结构 473 20.1.2 活动条件类型 474 20.2 使用WF的基本活动 476 20.2.1 使用IfElseActivity活动 477 20.2.2 使用WhileActivity活动 478 20.2.3 使用ParalleActivity活动 479 20.2.4 使用ReplicatorActivity活动 482 20.2.5 使用ConditionedActivityGroup活动 485 20.2.6 使用InvokeWorkflowActivity活动 488 20.2.7 使用TerminateActivity活动 491 20.2.8 使用SuspendActivity活动 491 20.3 本地服务和事件驱动的活动 493 20.3.1 理解和实现本地服务 494 20.3.2 使用本地服务在宿主和工作流之间通信 495 20.3.3 事件驱动的活动简介 498 20.3.4 EventDrivenActivity和ListenActivity使用示例 499 20.3.5 使用EventHandlingScopeActivity活动 502 20.4 小结 507 第21章 WF服务 508 21.1 WF服务基础 508 21.1.1 WF服务的分类 508 21.1.2 默认的服务类简介 509 21.2 WF持久化服务 510 21.2.1 准备数据库 510 21.2.2 创建工作流 511 21.2.3 使用SqlWorkflowPersistenceService 513 21.3 WF跟踪服务 519 21.3.1 使用工作流跟踪服务 519 21.3.2 跟踪服务配置文件 523 21.4 小结 524 第22章 基于ASP.NET的工作流批核系统 525 22.1 工作流批核系统简介 525 22.1.1 系统运行效果 525 22.1.2 系统基本结构 528 22.2 Workflows工作流项目 529 22.2.1 基于事件驱动的活动实现 529 22.2.2 UserActivity用户活动实现 531 22.2.3 SaveWorkItems自定义活动实现 537 22.2.4 ApprovedWorkItemWorkflow工作流实例的实现 538 22.2.5 工作流项目帮助类的实现 541 22.3 ASP.NET宿主应用程序项目 542 22.3.1 初始化工作流运行时引擎 543 22.3.2 创建工作流实例 544 22.3.3 编辑和审核工作申请表单 546 22.4 小结 549 第5篇 WCF开发第23章 SOA和WCF基础介绍 552 23.1 SOA架构介绍 552 23.1.1 软件设计思想发展的简要介绍 552 23.1.2 什么是SOA 553 23.2 WCF简要介绍 554 23.2.1 什么是WCF 554 23.2.2 WCF体系框架 555 23.2.3 WCF基础概念介绍 557 23.3 第一个WCF程序 559 23.3.1 HelloWorld服务契约的定义 559 23.3.2 HelloWorld的宿主程序 561 23.3.3 访问HelloWorld服务的客户端程序 563 23.4 小结 565 第24章 通道模型和绑定 566 24.1 WCF通道模型 566 24.1.1 WCF通道模型概述 566 24.1.2 消息交换模式和通道形状 567 24.1.3 数据报模式 567 24.1.4 请求-响应模式 570 24.1.5 双工模式 573 24.1.6 带会话的数据报模式、请求-响应模式和双工模式 574 24.1.7 通道形状的改变 575 24.1.8 通道性状和上层服务协议 576 24.1.9 通道管理器 577 24.1.10 ICommunicationObject接口和状态改变 577 24.2 标准绑定介绍 581 24.2.1 绑定的基本概念 581 24.2.2 标准绑定 581 24.2.3 设置绑定的方式 582 24.2.4 如何选择绑定 583 24.3 本机WCF-WCF交互的绑定和地址 585 24.3.1 场景概述 585 24.3.2 IPC基本概念 585 24.3.3 使用netNamedPipeBinding 586 24.3.4 netNamedPipeBinding的地址和配置 587 24.3.5 netNamedPipeBinding特点总结 589 24.4 跨主机WCF-WCF交互的绑定和地址 589 24.4.1 场景概述 590 24.4.2 TCP协议概述 590 24.4.3 Net.Tcp端口共享 591 24.4.4 使用netTcpBinding 591 24.4.5 netTcpBinding的地址和配置 592 24.4.6 netTcpBinding特点总结 595 24.5 与WS-I Basic Web服务进行交互的绑定和地址 595 24.5.1 场景概述 595 24.5.2 SOAP协议概述 596 24.5.3 使用basicHttpBinding 597 24.5.4 basicHttpBinding的地址和配置 598 24.5.5 basicHttpBinding特点总结 600 24.6 与改进Web服务进行交互的绑定和地址 600 24.6.1 场景概述 601 24.6.2 改进Web服务协议概述 601 24.6.3 使用wsHttpBinding 606 24.6.4 wsHttpBinding的地址和配置 607 24.6.5 wsHttpBinding特点总结 609 24.6.6 使用wsDualHttpBinding 610 24.6.7 wsDualHttpBinding的地址和配置 611 24.6.8 wsDualHttpBinding特点总结 613 24.6.9 使用ws2007HttpBinding 613 24.7 使用脱机模式进行消息交互的绑定和地址 613 24.7.1 场景概述 614 24.7.2 MSMQ协议概述 614 24.7.3 使用netMsmqBinding 615 24.7.4 netMsmqBinding的地址和配置 616 24.7.5 netMsmqBinding特点总结 619 24.7.6 使用msmqIntegrationBinding 619 24.7.7 msmqIntegrationBinding的地址和配置 620 24.7.8 msmqIntegrationBinding特点总结 622 24.8 小结 623 第25章 定义服务:契约编程 624 25.1 契约定义和分类 624 25.1.1 什么是契约 624 25.1.2 契约分类 624 25.2 服务契约 625 25.2.1 服务契约和WSDL 625 25.2.2 服务契约的重载问题 627 25.2.3 定义请求-响应操作 629 25.2.4 定义单程操作 630 25.2.5 定义双程操作 632 25.2.6 WCF中事件的实现 640 25.3 数据契约 644 25.3.1 数据契约和XSD 644 25.3.2 使用DataContract特性定义数据契约 646 25.3.3 数据契约的继承 649 25.3.4 已知类型的定义 650 25.3.5 数据契约的等效性 655 25.3.6 数据契约的版本控制 658 25.3.7 定义必需的数据成员 660 25.3.8 数据默认值的发送 662 25.3.9 数组和集合的处理 663 25.4 消息契约 667 25.4.1 消息契约基本概念 667 25.4.2 强类型消息 668 25.4.3 弱类型消息 674 25.5 错误处理和错误契约 678 25.5.1 SOAP消息的错误处理 678 25.5.2 服务端未捕获的异常 679 25.5.3 包含详细异常信息 681 25.5.4 捕捉服务异常 682 25.5.5 FaultCode和FaultReason的使用 684 25.5.6 使用错误契约和FaultException 685 25.6 小结 688 第26章 WCF中的行为 689 26.1 实例管理 689 26.1.1 实例管理的设置 689 26.1.2 PerCall实例策略 690 26.1.3 PerSession实例策略和会话 692 26.1.4 Single实例策略 695 26.2 并发管理 698 26.2.1 并发管理的设置 698 26.2.2 Single并发模式 699 26.2.3 Multiple并发模式 701 26.2.4 Reentrant并发模式 703 26.3 元数据的发布 706 26.3.1 HTTP-GET方式发布元数据 706 26.3.2 MEX终节点方式发布元数据 708 26.4 事务管理 710 26.4.1 事务的基本概念和特性 710 26.4.2 单服务事务 710 26.4.3 分布式事务 715 26.4.4 事务协议和事务管理器 721 26.5 小结 723 第27章 安全 724 27.1 常用概念介绍 724 27.1.1 身份验证 724 27.1.2 授权 725 27.1.3 保密性 725 27.1.4 完整性 725 27.1.5 凭据 725 27.2 传输安全性 726 27.2.1 传输安全性的三要素 726 27.2.2 WCF支持的传输安全模式 726 27.2.3 传输安全模式的配置 727 27.2.4 Transport安全模式下的凭证 728 27.2.5 Message安全模式下的凭证 729 27.3 局域网内Windows平台系统的安全性 729 27.3.1 场景分析 729 27.3.2 服务定义 730 27.3.3 身份认证 732 27.3.4 授权 734 27.4 跨Internet系统的安全性 738 27.4.1 场景概述和绑定选择 738 27.4.2 消息安全 739 27.4.3 身份认证 742 27.4.4 授权 744 27.5 安全机制的日志和跟踪 745 27.6 小结 746 第28章 自动点滴管理系统 747 28.1 需求分析 747 28.1.1 系统介绍 747 28.1.2 客户端功能 747 28.1.3 服务端功能 748 28.2 系统设计 748 28.2.1 服务边界和接口 748 28.2.2 传输和寄宿的设计 749 28.2.3 界面的设计 749 28.3 系统实现 750 28.3.1 服务契约的定义 750 28.3.2 数据契约的定义 751 28.3.3 服务的实现 756 28.3.4 控制台实现 762 28.3.5 客户端实现 770 28.4 运行和测试 778 28.5 小结 778 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。