精通C# 5.0与.NET 4.5高级编程:LINQ、WCF、WPF和WF [平装] 9787302333883

配送至
$ $ USD

.NET 4.5框架集成了对Windows窗体、Windows Phone、Windows Server和Windows Azure等各个方向的开发类库。《精通C#5.0与.NET4.5高级编程——LINQ\WCF\WPF和WF》由张敬普、丁士锋等编著,借助Visual Studio 2012开发工具,详细介绍了.NET框架中的4大开发利器:LINQ、WPF、WF和WCF。 本书共分为5篇28章。第1篇为C#面向对象开发基础,主要让读者了解基于框架的开发语言C#;第2篇为C#中的LINQ开发,介绍了如何使用LINQ在对象和数据之间建立一种对应关系,然后通过访问内存对象的方式查询数据集合;第3篇为WPF开发,详细介绍了如何利用WPF这个图形平台,改变传统Windows程序员的开发观念和开发方式;第4篇为WF工作流开发,介绍了实现工作流应用程序时所需要实现的一些机制,比如持久化、补偿、跟踪机制等;第5篇为WCF开发,学习如何利用远程通信技术,实现托管、服务实例管理、异步、安全、事务管理、离线队列等功能。 《精通C#5.0与.NET4.5高级编程——LINQ\WCF\WPF和WF》实例具有代表性,编码规范,讲解详细,适合想系统学习C#开发和.NET 4.5平台的技术人员研读,也可作为特定技术开发人员的参考书程。对于.NET程序员,本书不失为一本极佳的案头必备手册。
编辑推荐
《精通C#5.0与.NET4.5高级编程——LINQ\WCF\WPF和WF》由张敬普、丁士锋等编著,不仅讲解了.NET 4.5框架之上的4种开发技术,即LINQ、WPF、WF和WCF,还通过这些技术,深入学习了.NET 4.5的底层开发技术。 本书知识点丰富、应用实例广泛,是多位作者共同努力的结果。每位作者在.NET不同的领域,都有自己最擅长的技术。全书讲解方式简单、直白,难点注释清楚,实例力求接近实际。本书内容主要有以下特色。 * 本书首先从C#的基础语法和面向对象编程讲起,为初学者铺垫入门之路。 * 本书尽量减少长篇代码段,力争每个代码段都让读者明明白白。 * 本书知识点丰富,涉及这4项关键技术方方面面的应用。 * 本书实例面向实际开发,读者可根据实际情况顺手拈来。 * 对于读者工作中经常遇到的问题,书中给出了技巧、注意等专门说明。
作者简介
张敬普毕业于西安电子科技大学,获计算机专业硕士学位。精通.NET开发技术。曾经在东软集团嵌入式事业部从事嵌入式开发工作,主持和参与了嵌入式DVD系统及一些应用系统的开发。在学术刊物上发表过多篇关于网络及嵌入式开发方面的文章。目前供职于平顶山学院软件学院,致力于网络工程、嵌入式软件开发等方向的教学与研究。 丁士锋2001年毕业于国防科技大学计算机学院。从事Web开发及系统架构设计10余年,对C#语言与.NET开发技术有深入研究。多次参与了企业网站、Web ERP和Office OA等大中型Web项目的开发,积累了深厚的Web相关软件及分布式应用系统的开发经验。熟悉SQL Server、Oracle与IBM DB2等大型数据库系统的管理与开发。深入理解数据库系统在企业信息化进程中的应用。曾经参与了基于大型数据库系统的集团式信息管理系统的建设,并多次参与了数据库平台的搭建与各种核心数据库程序代码的实现。目前致力于JavaScript前端应用框架的开发与研究。
目录
第1篇C#面向对象开发基础 第1章.NET框架和VisualStudio2012开发工具 1.1.NET4.5框架一览 1.1.1框架包含的开发语言 1.1.2C#开发语言的特点 1.1.3C#的运行机制 1.1.4C#的类库框架 1.2VisualStudio2012开发界面 1.2.1VisualStudio2012界面一览 1.2.2菜单栏 1.2.3工具栏 1.2.4工具箱 1.2.5属性窗口 1.2.6解决方案资源管理器 1.2.7服务器资源管理器 1.3创建C#应用程序 1.3.1控制台应用程序(Console) 1.3.2Windows应用程序(Forms) 1.3.3ASP.NET4.5网站 1.4小结 第2章C#的语法知识 2.1变量、常量和表达式 2.1.1常量 2.1.2变量 2.1.3变量的类型 2.1.4类型转换 2.1.5变量的作用域和生存周期 2.1.6表达式 2.2运算符 2.2.1算术运算符 2.2.2关系运算符和逻辑运算符 2.2.3赋值运算符 2.2.4?运算符 2.2.5运算符优先级 2.3流程控制语句 2.3.1if语句 2.3.2switch语句 2.3.3for语句 2.3.4foreach语句 2.3.5while语句 2.4方法和函数 2.4.1方法和函数的定义 2.4.2函数的参数 2.4.3函数的返回值 2.4.4函数的重载 2.4.5委托 2.5泛型 2.5.1什么是泛型 2.5.2泛型的应用范围 2.6小结 第3章C#的面向对象特性 3.1面向对象编程概述 3.1.1什么是类和对象 3.1.2用C#如何创建类 3.1.3用C#如何创建对象 3.1.4什么是面向对象编程 3.2面向对象的技术 3.2.1接口 3.2.2用C#如何创建接口 3.2.3继承 3.2.4用C#如何实现继承 3.2.5多态 3.2.6用C#如何实现多态 3.3面向对象开发的简单实例 3.3.1面向对象功能设计 3.3.2面向对象的类设计 3.3.3面向对象的应用 3.4小结 第2篇C#中的LINQ开发 第4章LINQ查询基础 4.1LINQ基础概念 4.1.1什么是LINQ 4.1.2如何使用LINQ 4.1.3LINQ查询 4.2LINQ查询表达式 4.2.1查询表达式 4.2.2用from子句指定数据源 4.2.3用select子句指定目标数据 4.2.4用where子句指定筛选条件 4.2.5用orderby子句进行排序 4.2.6用group子句进行分组 4.2.7用from子句进行复合查询 4.2.8用join子句进行联接 4.2.9用join子句进行内部联接 4.2.10用join子句进行分组联接 4.2.11用join子句进行左外部联接 4.3LINQ查询方法 4.3.1IEnumerable接口 4.3.2Lambda表达式 4.3.3用Where()方法进行筛选 4.3.4用OrderBy()方法进行排序 4.3.5用Skip()、SkipWhile()跳过元素 4.3.6用Take()、TakeWhile()提取元素 4.3.7用Max()等对元素进行数值计算 4.3.8用Distinct()消除集合中相等的元素 4.3.9用Concat()连接两个集合 4.3.10用Union()等进行集合操作 4.4小结 第5章LINQtoADO.NET——支持LINQ语言与ADO.NET的交互 5.1LINQtoADO.NET概述 5.1.1LINQtoDataSet概述 5.1.2LINQtoSQL概述 5.2LINQtoDataSet--实现复杂数据查询 5.2.1使用LINQtoDataSet 5.2.2查询单个数据表 5.2.3查询多个数据表 5.2.4用查询创建数据表 5.2.5修改表中字段数据 5.2.6使用数据视图DataView 5.3LINQtoSQL--对象模型 5.3.1对象模型的原理 5.3.2生成对象关系设计器 5.3.3对象关系设计器的构成 5.3.4深入LINQtoSQL类 5.3.5通过绑定浏览数据库记录 5.3.6用LINQ查询LINQtoSQL类 5.3.7修改数据库记录 5.4小结 第6章LINQtoXML--支持LINQ语言与XML语言的交互 6.1LINQtoXML概述 6.1.1什么是LINQtoXML 6.1.2LINQtoXML与DOM 6.2构造XML树 6.2.1构造简单的XML元素 6.2.2构造具有属性的XML元素 6.2.3构造具有子元素的XML元素 6.2.4用XElement类构造XML树 6.3查询XML树 6.3.1查找具有特定属性的元素 6.3.2查找具有特定子元素的元素 6.3.3对XML元素进行排序 6.3.4基于上下文查询元素 6.4操作XML树 6.4.1加载和保存XML树 6.4.2添加元素到XML树 6.4.3移除XML树的元素和属性 6.5小结 第3篇WPF美轮美奂技术 第7章WPF编程入门 7.1WPF概述 7.1.1理解Windows图形系统 7.1.2WPF的功能特点 7.1.3WPF架构简介 7.1.4WPF的类层次结构 7.2WPF开发工具简介 7.2.1VisualStudio2012开发工具 7.2.2MicrosoftExpressionBlend设计工具 7.2.3XAMLPad标记文本查看器 7.2.4ZAM3D第三方工具(3D模型) 7.3第一个WPF应用程序 7.4WPF应用程序结构 7.5WPF与.NETFramework4.5平台 7.5.1WindowsCommunicationFoundation概述 7.5.2WindowsCardSpace概述 7.5.3WindowsWorkflowFoundation概述 7.6小结 第8章XAML标记语言 8.1理解XAML 8.1.1XAML是什么 8.1.2用C#模拟XAML实现的内容 8.1.3XAML的种类 8.2XAML基础 8.2.1命名空间 8.2.2代码后置文件 8.2.3使用简单的属性和类型转换器 8.2.4属性语法与属性元素语法 8.2.5标记扩展特性 8.2.6附加属性 8.2.7特定的字符和空白 8.2.8在XAML中使用事件 8.2.9使用其他命名空间中的类型 8.2.10加载和编译XAML 8.3小结 第9章Application全局应用程序类 9.1应用程序生命周期 9.1.1创建Application对象 9.1.2创建一个自定义的Application类 9.1.3关闭应用程序 9.1.4应用程序事件 9.2事件执行周期 9.2.1Startup应用程序启动事件 9.2.2Activated和Deactiveated事件——激活与取消激活 9.2.3DispatherUnhandledException事件——处理应用程序未处理的异常 9.2.4SessionEnding事件——注销或关闭系统 9.2.5Exit事件——退出应用程序 9.3Application类的任务 9.3.1处理命令行参数 9.3.2访问当前的应用程序 9.3.3单实例应用程序 9.4小结 第10章WPF布局 10.1理解WPF布局 10.1.1WPF的布局原理 10.1.2布局的过程 10.1.3布局容器 10.2使用StackPanel进行简单地布局 10.2.1StackPanel示例 10.2.2StackPanel布局属性 10.3使用WrapPanel和DockPanel 10.3.1使用WrapPanel控件布局 10.3.2使用DockPanel控件布局 10.3.3简单对话框的实现 10.4Grid控件 10.4.1创建Grid控件 10.4.2调整行列尺寸 10.4.3编程创建Grid控件 10.4.4合并行和列 10.4.5窗体分割 10.4.6共享尺寸组 10.4.7使用UniformGrid控件 10.5基于坐标布局的Canvas 10.5.1Canvas控件的使用方法 10.5.2Canvas的Z轴 10.5.3InkCanvas介绍 10.6小结 第11章内容控件 11.1理解内容控件 11.1.1什么是内容控件 11.1.2Content属性介绍 11.1.3内容的对齐属性 11.2内容容器控件 11.2.1ScrollViewer滚动条控件 11.2.2GroupBox组合框和TabItem标签页控件 11.2.3Expander可折叠控件 11.3装饰控件 11.3.1Border边框控件 11.3.2Viewbox自动缩放控件 11.4小结 第12章WPF依赖属性和事件路由 12.1WPF中的树 12.1.1逻辑树和视觉树 12.1.2编程遍历树结构 12.2理解依赖属性 12.2.1依赖属性的概念 12.2.2定义依赖属性 12.2.3依赖属性示例 12.2.4共享依赖属性 12.2.5注册附加属性 12.3理解事件路由 12.3.1路由事件的概念 12.3.2定义和注册路由事件 12.3.3事件路由策略 12.3.4RoutedEventArgs类型的参数 12.3.5附加事件 12.4WPF中的事件 12.4.1生命周期事件 12.4.2键盘事件 12.4.3键盘焦点 12.4.4键盘状态 12.4.5鼠标事件 12.4.6捕捉鼠标 12.4.7鼠标拖放编程 12.4.8文件拖放示例 12.5小结 第13章标准控件 13.1控件基础 13.1.1背景色和前景色画刷 13.1.2透明度设置 13.1.3更改字体 13.1.4更改鼠标光标 13.2内容控件 13.2.1Label标签控件 13.2.2Button控件 13.2.3CheckBox和RadioButton控件 13.2.4ToolTip提示控件 13.2.5使用ToolTipService对象ToolTip 13.2.6使用Popup控件 13.3文本控件 13.3.1TextBox控件 13.3.2选择文本 13.3.3PasswordBox密码框控件 13.3.4TextBlock控件 13.4列表控件 13.4.1ListBox列表框控件 13.4.2获取ListBox选定项 13.4.3在ListBox中进行多选 13.4.4ComboBox下拉列表框控件 13.5范围控件 13.5.1ProgressBar进度条控件 13.5.2Slider滑动条控件 13.6小结 第14章窗口与导航 14.1Windows类简介 14.1.1Window类的基本属性 14.1.2窗口的生命周期 14.1.3模式与非模式窗口 14.1.4窗口的定位和尺寸 14.1.5保存和恢复窗口位置 14.2对话框窗口 14.2.1窗口的宿主 14.2.2对话框模型 14.2.3MessageBox消息框 14.2.4通用对话框 14.3非矩形窗口 14.3.1圆角窗口 14.3.2图形窗口 14.3.3调整非矩形窗口尺寸 14.4一个简单的导航应用程序示例 14.5基于页面的用户界面 14.5.1Page类简介 14.5.2使用Hyperlink超级链接 14.5.3片段导航 14.5.4NavigationWindow导航窗口 14.5.5Frame页面框架 14.5.6导航历史记录 14.6NavigationService导航服务 14.6.1编程控制导航 14.6.2导航生命期事件 14.6.3导航记录管理 14.6.4使用页函数PageFunction 14.7XAML浏览器应用程序 14.7.1XBAP的特点 14.7.2创建XBAP应用程序 14.8小结 第15章WPF资源、样式和控件模板 15.1程序集资源 15.1.1添加资源 15.1.2获取程序集资源 15.2对象资源 15.2.1资源集合 15.2.2静态和动态资源 15.2.3非共享资源 15.2.4编程访问资源 15.2.5应用程序资源 15.2.6系统资源 15.2.7使用资源字典组织资源 15.3样式基础 15.3.1创建一个样式对象 15.3.2在样式中设置属性 15.3.3根据指定的类型自动应用样式 15.3.4多级样式 15.3.5绑定事件处理器 15.4样式触发器 15.4.1创建简单触发器 15.4.2创建事件触发器 15.4.3数据触发器 15.5控件模板 15.5.1理解控件模板 15.5.2一个按钮模板示例 15.5.3模板的绑定 15.5.4模板触发器 15.6小结 第16章形状、变换和画刷 16.1WPF图形 16.1.1Shape类 16.1.2Rectangle和Ellipse类 16.1.3Stretch属性 16.1.4Line直线对象 16.1.5Polyline多段线对象 16.1.6Polygon多边形对象 16.1.7线帽和线连接点 16.1.8绘制虚线 16.2画刷 16.2.1LinearGradientBrush线性渐变画刷 16.2.2RadialGradientBrush径向渐变画刷 16.2.3ImageBrush图像画刷 16.2.4VisualBrush可视化对象画刷 16.2.5OpacityMask不透明蒙板 16.3WPF变换 16.3.1应用变换 16.3.2TranslateTransform移动变换 16.3.3RotateTransform旋转变换 16.3.4ScaleTransform缩放变换 16.3.5SkewTransform扭曲变换 16.3.6TransformGroup组合变换 16.4位图效果 16.4.1模糊 16.4.2凹凸效果 16.4.3浮雕效果 16.4.4发光和阴影 16.5小结 第17章几何图形、图像和可视化层 17.1路径和几何图形 17.1.1线型、矩形和椭圆几何图形 17.1.2使用GeometryGroup组合形状 17.1.3使用CombinedGeometry结合形状 17.1.4认识PathGeometry对象 17.1.5用PathGeometry对象绘制直线1 17.1.6用PathGeometry对象绘制弧线1 17.1.7用PathGeometry对象绘制贝塞尔曲线2 17.1.8使用几何迷你语言 17.1.9几何图形的裁切 17.2绘图 17.2.1绘制形状 17.2.2绘制图像 17.2.3组合绘制 17.3可视化层 17.3.1在Visual上绘图 17.3.2DrawingVisual宿主容器 17.3.3使用命中测试 17.4小结 第18章WPF数据绑定 18.1数据绑定基础 18.1.1绑定到元素属性 18.1.2使用程序代码创建绑定 18.1.3绑定多个属性 18.1.4绑定的方向 18.1.5绑定更新 18.1.6绑定到非元素的对象 18.2数据库绑定 18.2.1创建数据访问组件 18.2.2实现数据实体对象 18.2.3显示绑定对象 18.2.4更新数据库 18.3小结 第4篇WF工作流编程 第19章WF编程入门 19.1WF基础 19.1.1WF简介 19.1.2WF的开发环境 19.1.3第一个工作流示例程序 19.1.4WF架构简介 19.2使用WorkflowRuntime和WorkflowInstance类 19.2.1理解WorkflowRuntime工作流引擎 19.2.2理解WorkflowInstance工作流实例 19.3工作流类型和创建模式 19.3.1WF工作流的类型 19.3.2一个简单的状态机工作流示例 19.3.3WF工作流的创建模式 19.4小结 第20章WF活动 20.1理解WF活动 20.1.1活动的类层次结构 20.1.2活动条件类型 20.2使用WF的基本活动 20.2.1使用IfElseActivity活动 20.2.2使用WhileActivity活动 20.2.3使用ParalleActivity活动 20.2.4使用ReplicatorActivity活动 20.2.5使用ConditionedActivityGroup活动 20.2.6使用InvokeWorkflowActivity活动 20.2.7使用TerminateActivity活动 20.2.8使用SuspendActivity活动 20.3本地服务和事件驱动的活动 20.3.1理解和实现本地服务 20.3.2使用本地服务在宿主和工作流之间通信 20.3.3事件驱动的活动简介 20.3.4EventDrivenActivity和ListenActivity使用示例 20.3.5使用EventHandlingScopeActivity活动 20.4小结 第21章WF服务 21.1WF服务基础 21.1.1WF服务的分类 21.1.2默认的服务类简介 21.2WF持久化服务 21.2.1准备数据库 21.2.2创建工作流 21.2.3使用SqlWorkflowPersistenceService 21.3WF跟踪服务 21.3.1使用工作流跟踪服务 21.3.2跟踪服务配置文件 21.4小结 第22章基于ASP.NET的工作流批核系统 22.1工作流批核系统简介 22.1.1系统运行效果 22.1.2系统基本结构 22.2Workflows工作流项目 22.2.1基于事件驱动的活动实现 22.2.2UserActivity用户活动实现 22.2.3SaveWorkItems自定义活动实现 22.2.4ApprovedWorkItemWorkflow工作流实例的实现 22.2.5工作流项目帮助类的实现 22.3ASP.NET宿主应用程序项目 22.3.1初始化工作流运行时引擎 22.3.2创建工作流实例 22.3.3编辑和审核工作申请表单 22.4小结 第5篇WCF开发 第23章SOA和WCF基础介绍 23.1SOA架构介绍 23.1.1软件设计思想发展的简要介绍 23.1.2什么是SOA 23.2WCF简要介绍 23.2.1什么是WCF 23.2.2WCF体系框架 23.2.3WCF基础概念介绍 23.3第一个WCF程序 23.3.1HelloWorld服务契约的定义 23.3.2HelloWorld的宿主程序 23.3.3访问HelloWorld服务的客户端程序 23.4小结 第24章通道模型和绑定 24.1WCF通道模型 24.1.1WCF通道模型概述 24.1.2消息交换模式和通道形状 24.1.3数据报模式 24.1.4请求-响应模式 24.1.5双工模式 24.1.6带会话的数据报模式、请求-响应模式和双工模式 24.1.7通道形状的改变 24.1.8通道形状和上层服务协议 24.1.9通道管理器 24.1.10ICommunicationObject接口和状态改变 24.2标准绑定介绍 24.2.1绑定的基本概念 24.2.2标准绑定 24.2.3设置绑定的方式 24.2.4如何选择绑定 24.3本机WCF-WCF交互的绑定和地址 24.3.1场景概述 24.3.2IPC基本概念 24.3.3使用netNamedPipeBinding 24.3.4netNamedPipeBinding的地址和配置 24.3.5netNamedPipeBinding特点总结 24.4跨主机WCF-WCF交互的绑定和地址 24.4.1场景概述 24.4.2TCP协议概述 24.4.3Net.Tcp端口共享 24.4.4使用netTcpBinding 24.4.5netTcpBinding的地址和配置 24.4.6netTcpBinding特点总结 24.5与WS-IBasicWeb服务进行交互的绑定和地址 24.5.1场景概述 24.5.2SOAP协议概述 24.5.3使用basicHttpBinding 24.5.4basicHttpBinding的地址和配置 24.5.5basicHttpBinding特点总结 24.6与改进Web服务进行交互的绑定和地址 24.6.1场景概述 24.6.2改进Web服务协议概述 24.6.3使用wsHttpBinding 24.6.4wsHttpBinding的地址和配置 24.6.5wsHttpBinding特点总结 24.6.6使用wsDualHttpBinding 24.6.7wsDualHttpBinding的地址和配置 24.6.8wsDualHttpBinding特点总结 24.6.9使用ws2007HttpBinding 24.7使用脱机模式进行消息交互的绑定和地址 24.7.1场景概述 24.7.2MSMQ协议概述 24.7.3使用netMsmqBinding 24.7.4netMsmqBinding的地址和配置 24.7.5netMsmqBinding特点总结 24.7.6使用msmqIntegrationBinding 24.7.7msmqIntegrationBinding的地址和配置 24.7.8msmqIntegrationBinding特点总结 24.8小结 第25章定义服务:契约编程 25.1契约定义和分类 25.1.1什么是契约 25.1.2契约分类 25.2服务契约 25.2.1服务契约和WSDL 25.2.2服务契约的重载问题 25.2.3定义请求-响应操作 25.2.4定义单程操作 25.2.5定义双程操作 25.2.6WCF中事件的实现 25.3数据契约 25.3.1数据契约和XSD 25.3.2使用DataContract特性定义数据契约 25.3.3数据契约的继承 25.3.4已知类型的定义 25.3.5数据契约的等效性 25.3.6数据契约的版本控制 25.3.7定义必需的数据成员 25.3.8数据默认值的发送 25.3.9数组和集合的处理 25.4消息契约 25.4.1消息契约基本概念 25.4.2强类型消息 25.4.3弱类型消息 25.5错误处理和错误契约 25.5.1SOAP消息的错误处理 25.5.2服务端未捕获的异常 25.5.3包含详细异常信息 25.5.4捕捉服务异常 25.5.5FaultCode和FaultReason的使用 25.5.6使用错误契约和FaultException 25.6小结 第26章WCF中的行为 26.1实例管理 26.1.1实例管理的设置 26.1.2PerCall实例策略 26.1.3PerSession实例策略和会话 26.1.4Single实例策略 26.2并发管理 26.2.1并发管理的设置 26.2.2Single并发模式 26.2.3Multiple并发模式 26.2.4Reentrant并发模式 数据的发布 26.3.1HTTP-GET方式发布元数据 26.3.2MEX终结点方式发布元数据 26.4事务管理 26.4.1事务的基本概念和特性 26.4.2单服务事务 26.4.3分布式事务 26.4.4事务协议和事务管理器 26.5小结 第27章安全 27.1常用概念介绍 27.1.1身份验证 27.1.2授权 27.1.3保密性 27.1.4完整性 27.1.5凭据 27.2传输安全性 27.2.1传输安全性的三要素 27.2.2WCF支持的传输安全模式 27.2.3传输安全模式的配置 27.2.4Transport安全模式下的凭证 27.2.5Message安全模式下的凭证 27.3局域网内Windows平台系统的安全性 27.3.1场景分析 27.3.2服务定义 27.3.3身份认证 27.3.4授权 27.4跨Internet系统的安全性 27.4.1场景概述和绑定选择 27.4.2消息安全 27.4.3身份认证 27.4.4授权 27.5安全机制的日志和跟踪 27.6小结 第28章自动点滴管理系统 28.1需求分析 28.1.1系统介绍 28.1.2客户端功能 28.1.3服务端功能 28.2系统设计 28.2.1服务边界和接口 28.2.2传输和寄宿的设计 28.2.3界面的设计 28.3系统实现 28.3.1服务契约的定义 28.3.2数据契约的定义 28.3.3服务的实现 28.3.4控制台实现 28.3.5客户端实现 28.4运行和测试 28.5小结
ISBN
出版社清华大学出版社
作者张敬普
尺寸16