精通C# 5.0與.NET 4.5高級編程——LINQ、WCF、WPF和WF ( 簡體 字) |
作者:張敬普、丁士鋒 等 | 類別:1. -> 程式設計 -> .NET -> C# |
譯者: |
出版社:清華大學出版社 | 3dWoo書號: 37389 詢問書籍請說出此書號!【缺書】 NT售價: 500 元 |
出版日:12/30/2013 |
頁數:796 |
光碟數:0 |
|
站長推薦:  |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787302333883 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言:讀必有所學,學必有所用,用必有所成! .NET 4.5框架中到底發生了什么巨變? 隨著信息時代的技術更新水平越來越快,微軟也推出了針對智能手機開發的Windows Phone和針對“云”開發的Windows Azure,如果你一直在使用微軟的工具進行開發,則.NET 4.5框架是你的首選。 .NET Framework是Windows、Windows Phone、Windows Server和Windows Azure生成應用程序的開發平臺。它包括公共語言運行時(CLR)和.NET Framework類庫,其中包含類、接口和支持多種技術的值類型。.NET Framework提供托管執行環境、簡化的開發和部署以及與各種編程語言(包括Visual Basic和Visual C#)的集成。 還是通過下面的圖來了解.NET 4.5框架的基礎構成。
四大利器都能完成什么功能? .NET 4.5完善了LINQ、WCF、WF和WCF這些技術,所有研究.NET框架的人都把這些技術稱為4大利器。但還是有很多人不明白這些究竟能為項目帶來什么優勢?能為程序員帶來什么便利?能具體應用到哪些地方?這些問題是所有開發人員所關注的問題,也是本書要介紹的重點知識。 (1)LINQ技術將傳統查詢語言(如SQL)和傳統開發語言(如C#)集成到一起,使得對內存數據的查詢更加高效、語法更簡單。這種變革涉及LINQ語法、LINQ to ADO.NET和LINQ to XML等技術。 (2)WPF是創建華麗用戶界面的基本技術,讓用戶的Windows界面像Windows 7系統一樣。WPF能開發什么東西呢? * WPF應用程序:獨立可執行應用程序,類似exe應用程序。 * WPF瀏覽器應用程序:基于XAML的瀏覽器的應用程序(好似B/S應用程序)。 * WPF用戶控件庫:用于創建可重用的、組件化的用戶控件庫。 * WPF自定義控件庫:用于開發WPF自定義控件的控件庫項目。 (3)WCF(Windows Communication Foundation)作為微軟對SOA(Service Oriented Architecture,面向服務)這一熱潮的回應,成為了.NET 4.5中最為重要的組成部分之一。WCF整合了以前微軟對分布式系統開發所作出的所有努力,如.NET Remoting、WSE 2.0、WSE 3.0等。 WCF是不是SOA?是不是面向服務的編程?這個疑問從一開始就有很多人提出來。的確,WCF簡化了SOA面向服務開發技術,并且支持跨區域、跨服務器的各種分布式開發,也支持未來的開發模式,想不學習都難!面向服務開發,就是一個程序調用的服務可能來自不同的服務器,如下圖所示就是一個客戶調用了來自不同地方的4個服務。 (4)WF就是工作流,所有做過OA系統的人都知道,所有做過項目的人也都知 道,任何一個系統都離不開流程,如項目的初期規劃、項目的進度、項目的管理資源分配。WF都能給你一個完美的解決方案。如下圖給出了一個訂單批核的工作流。如果用普通的C#語言開發,一般程序員可能用一周,而如果用WF,則最多用半天,簡化了程序員的勞動程序。 C#開發語言即將何去何從? C#是微軟推出的面向對象開發語言,因為微軟的著力推廣,目前已經超過Visual Basic,成為最流行的最快速的開發語言。目前最新的C#版本是5.0,支持.NET 4.5框架,最新的開發工具是Visual Studio 2012。提升了版本,那究竟用C#都能干什么呢?學習了一身武藝,該如何施展呢?下面用幾位老作者的話來幫助讀者分析分析。 * C#的開發方向涉及了幾乎所有的領域,如窗體開發、網絡開發、手機開發、通信開發、數據庫開發、云技術開發等。 * C#基于.NET框架之上,只需要學習兩部分內容:語法基礎和如何調用類庫。因為.NET框架幾乎提供了各種應用開發所需要的類庫,如針對安全的、針對驗證的、針對網絡的、針對數據庫的等。 * C#開發語言會越來越犀利,它已經結合了Visual Basic的快速開發功能和Java的快速安全功能,但它還是不能具備與平臺無關性。 * C#具有語法表現能力強、簡單易學的特點,同時微軟提供的Visual Studio開發工具,能幫助開發人員快速、方便地找到各種錯誤、技巧和方法與類的定義,而且Visual Studio還集編碼、調試、測試為一體。 如何學好C#?——多位資深程序員的心得共享 如何學好C#,這是每個初學者必問的問題。下面來聽聽資深開發者的這些話吧。 * 找問題、提問題、解決問題,這是我學習新技術的3大法寶。 * 選擇好的開發語言、好的開發工具和好的開發方向,這是C#的門檻。 * 不是所有的語言都要學,但語言的語法一定要學精。同時要了解這門語言能帶來什么,能提升什么,能為我們做什么。 * 了解技術的先進性,掌握基礎語法、先進技術和技巧,多實踐。 下圖是我從一個C#初學者到高級研究員的行走曲線。
本書內容特色 本書不僅講解了.NET 4.5框架之上的4種開發技術,即LINQ、WPF、WF和WCF,還通過這些技術,深入學習了.NET 4.5的底層開發技術。 本書知識點豐富、應用實例廣泛,是多位作者共同努力的結果。每位作者在.NET不同的領域,都有自己最擅長的技術。全書講解方式簡單、直白,難點注釋清楚,實例力求接近實際。本書內容主要有以下特色。 * 本書首先從C#的基礎語法和面向對象編程講起,為初學者鋪墊入門之路。 * 本書盡量減少長篇代碼段,力爭每個代碼段都讓讀者明明白白。 * 本書知識點豐富,涉及這4項關鍵技術方方面面的應用。 * 本書實例面向實際開發,讀者可根據實際情況順手拈來。 * 對于讀者工作中經常遇到的問題,書中給出了技巧、注意等專門說明。 本書知識結構體系 本書首先普及了C#的基礎語法,然后介紹了如何用C#進行面向對象編程。最后將內容分解,逐一介紹.NET 4.5的4大法寶。本書共分成5篇。 第1篇(第1章∼第3章):這是C#面向對象開發的基礎,包括語法和面向對象編程。主要是帶領讀者學習和回顧一些C#的關鍵知識點。 第2篇(第4章∼第6章):介紹.NET 4.5中的集成查詢技術LINQ。這種技術代替了原有的SQL,而且可以提供更好的完全面向對象開發的數據通信技術。LINQ可以與常見的數據庫、XML、Dataset等進行交互,是多功能集成查詢技術。本篇提供了20個完整案例,供讀者進行理論學習后的實踐操作。 第3篇(第7章∼第18章):WPF一直被稱為最絢麗的技術,是微軟公司在.NET Framework 4.5平臺上推出的一個圖形平臺。使用WPF可以在Windows 7操作系統平臺上開發出具有絢麗視覺效果的應用程序,而且這些效果還可以應用在Windows XP或者是Windows 2003操作系統上。本篇是全書的重點推薦篇。因為隨著技術的發展,如何讓人們覺得網絡生活更美、更有趣、更智能是開發人員的追求,而WPF是實現這一追求的目標。本篇共有130多個案例,其中有10多個大的案例。 第4篇(第19章∼第22章):WF是微軟推出的一套工作流開發框架,是所有OA系統必需的一項功能。最早的WinFx是WF的前身,在.NET 4.5框架中,推出了更完整的工作流定義程序。WF不是一個獨立的工作流應用程序,它提供了一些類庫用于輔助工作流應用程序的開發,并提供了實現工作流應用程序時所需要實現的一些機制。本篇30個大小案例,其中大的案例有5個,實戰項目1個。 第5篇(第23章∼第28章):WCF是與SOA息息相關的技術。本篇會讓讀者首先明白究竟什么是SOA,然后介紹SOA技術的原理,最后會讓讀者學會使用WCF技術。WCF的設計目的是為分布式計算提供可管理的方法,提供廣泛的互操作性,并為服務定位提供直接的支持。本篇有50多個案例。 適合閱讀本書的讀者有哪些? * 想學習C# 5.0開發技術的人員; * C# 5.0初級、中級人員; * 想開發絢麗的WinForm窗體應用程序開發的人員; * 想使用WPF進行應用程序開發的人員; * 想學習LINQ使用的人員; * 想學習OA系統的人員; * 想學習WCF遠程通信技術的人; * 想深入了解.NET框架的開發人員; * 想使用書中其他具體技術的人員。 本書作者 本書第1∼18章由張敬普主筆編寫,第19∼28章由丁士鋒主筆編寫。王金柱負責全書的技術審查和程序代碼的測試、調試等工作,并且參與了部分章節的寫作。除了主創人員外,參與本書編寫和程序調試的人員有陳鵬、段麗鋼、侯晶晶、侯亮亮、侯榮、侯瑞雪、胡慧、李慧敏、盧劍輝、沈煒、孫景瑞、王大中、吳艷敏、閆剛、張瓊、張笑、朱萬江、劉素兵、張華、王冬姣、劉應舫、關黎霞、曾源、池劍鋒、郝軍、周凌霄、葛亮、郭頌、金楠、劉巖、馬軍、王晉凱、武松、張國平。 閱讀本書的過程中,有任何疑問可以發郵件到bookservice2008@163.com,我們會及時解決你的問題。
編著者 |
內容簡介:.NET 4.5框架集成了對Windows窗體、Windows Phone、Windows Server和Windows Azure等各個方向的開發類庫。本書借助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#開發和.NET 4.5平臺的技術人員研讀,也可作為特定技術開發人員的參考書程。對于.NET程序員,本書不失為一本極佳的案頭必備手冊。
|
目錄:第1篇 C#面向對象開發基礎 第1章 .NET框架和Visual Studio 2012開發工具 2 1.1 .NET 4.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 2012 開發界面 4 1.2.1 Visual Studio 2012界面一覽 4 1.2.2 菜單欄 6 1.2.3 工具欄 7 1.2.4 工具箱 7 1.2.5 屬性窗口 8 1.2.6 解決方案資源管理器 8 1.2.7 服務器資源管理器 9 1.3 創建C#應用程序 9 1.3.1 控制臺應用程序(Console) 9 1.3.2 Windows 應用程序(Forms) 10 1.3.3 ASP.NET 4.5網站 11 1.4 小結 14 第2章 C#的語法知識 15 2.1 變量、常量和表達式 15 2.1.1 常量 15 2.1.2 變量 15 2.1.3 變量的類型 15 2.1.4 類型轉換 16 2.1.5 變量的作用域和生存周期 17 2.1.6 表達式 17 2.2 運算符 17 2.2.1 算術運算符 18 2.2.2 關系運算符和邏輯運算符 18 2.2.3 賦值運算符 19 2.2.4 ?運算符 19 2.2.5 運算符優先級 19 2.3 流程控制語句 20 2.3.1 if語句 20 2.3.2 switch語句 20 2.3.3 for語句 21 2.3.4 foreach語句 22 2.3.5 while語句 22 2.4 方法和函數 23 2.4.1 方法和函數的定義 23 2.4.2 函數的參數 24 2.4.3 函數的返回值 24 2.4.4 函數的重載 24 2.4.5 委托 25 2.5 泛型 25 2.5.1 什么是泛型 25 2.5.2 泛型的應用范圍 26 2.6 小結 26 第3章 C#的面向對象特性 27 3.1 面向對象編程概述 27 3.1.1 什么是類和對象 27 3.1.2 用C#如何創建類 28 3.1.3 用C#如何創建對象 29 3.1.4 什么是面向對象編程 29 3.2 面向對象的技術 29 3.2.1 接口 29 3.2.2 用C#如何創建接口 30 3.2.3 繼承 31 3.2.4 用C#如何實現繼承 31 3.2.5 多態 31 3.2.6 用C#如何實現多態 32 3.3 面向對象開發的簡單實例 33 3.3.1 面向對象功能設計 33 3.3.2 面向對象的類設計 33 3.3.3 面向對象的應用 34 3.4 小結 35
第2篇 C#中的LINQ開發 第4章 LINQ查詢基礎 38 4.1 LINQ基礎概念 38 4.1.1 什么是LINQ 38 4.1.2 如何使用LINQ 39 4.1.3 LINQ查詢 40 4.2 LINQ查詢表達式 41 4.2.1 查詢表達式 41 4.2.2 用from子句指定數據源 42 4.2.3 用select子句指定目標數據 43 4.2.4 用where子句指定篩選條件 46 4.2.5 用orderby子句進行排序 48 4.2.6 用group子句進行分組 49 4.2.7 用from子句進行復合查詢 52 4.2.8 用join子句進行聯接 54 4.2.9 用join子句進行內部聯接 54 4.2.10 用join子句進行分組聯接 55 4.2.11 用join子句進行左外部聯接 56 4.3 LINQ查詢方法 57 4.3.1 IEnumerable接口 57 4.3.2 Lambda表達式 59 4.3.3 用Where()方法進行篩選 60 4.3.4 用OrderBy()方法進行排序 61 4.3.5 用Skip()、SkipWhile()跳過元素 64 4.3.6 用Take()、TakeWhile()提取元素 65 4.3.7 用Max()等對元素進行數值計算 66 4.3.8 用Distinct()消除集合中相等的元素 67 4.3.9 用Concat()連接兩個集合 70 4.3.10 用Union()等進行集合操作 71 4.4 小結 73 第5章 LINQ to ADO.NET——支持 LINQ語言與ADO.NET的交互 74 5.1 LINQ to ADO.NET概述 74 5.1.1 LINQ to DataSet概述 74 5.1.2 LINQ to SQL概述 75 5.2 LINQ to DataSet--實現復雜數據查詢 76 5.2.1 使用LINQ to DataSet 76 5.2.2 查詢單個數據表 77 5.2.3 查詢多個數據表 80 5.2.4 用查詢創建數據表 83 5.2.5 修改表中字段數據 85 5.2.6 使用數據視圖DataView 86 5.3 LINQ to SQL--對象模型 89 5.3.1 對象模型的原理 89 5.3.2 生成對象關系設計器 90 5.3.3 對象關系設計器的構成 92 5.3.4 深入LINQ to SQL類 93 5.3.5 通過綁定瀏覽數據庫記錄 95 5.3.6 用LINQ查詢LINQ to SQL類 97 5.3.7 修改數據庫記錄 99 5.4 小結 100 第6章 LINQ to XML--支持LINQ語 言與XML語言的交互 102 6.1 LINQ to XML概述 102 6.1.1 什么是LINQ to XML 102 6.1.2 LINQ to XML與DOM 104 6.2 構造XML樹 105 6.2.1 構造簡單的XML元素 105 6.2.2 構造具有屬性的XML元素 107 6.2.3 構造具有子元素的XML元素 110 6.2.4 用XElement類構造XML樹 111 6.3 查詢XML樹 112 6.3.1 查找具有特定屬性的元素 112 6.3.2 查找具有特定子元素的元素 114 6.3.3 對XML元素進行排序 115 6.3.4 基于上下文查詢元素 116 6.4 操作XML樹 117 6.4.1 加載和保存XML樹 118 6.4.2 添加元素到XML樹 119 6.4.3 移除XML樹的元素和屬性 121 6.5 小結 125 第3篇 WPF美輪美奐技術 第7章 WPF編程入門 128 7.1 WPF概述 128 7.1.1 理解Windows圖形系統 128 7.1.2 WPF的功能特點 129 7.1.3 WPF架構簡介 129 7.1.4 WPF的類層次結構 130 7.2 WPF開發工具簡介 132 7.2.1 Visual Studio 2012開發工具 132 7.2.2 Microsoft Expression Blend設計工具 133 7.2.3 XAMLPad標記文本查看器 134 7.2.4 ZAM 3D第三方工具(3D模型) 135 7.3 第一個WPF應用程序 136 7.4 WPF應用程序結構 137 7.5 WPF與.NET Framework 4.5平臺 138 7.5.1 Windows Communication Foundation概述 138 7.5.2 Windows CardSpace概述 140 7.5.3 Windows Workflow Foundation 概述 140 7.6 小結 141 第8章 XAML標記語言 143 8.1 理解XAML 143 8.1.1 XAML是什么 143 8.1.2 用C#模擬XAML實現的內容 145 8.1.3 XAML的種類 147 8.2 XAML基礎 147 8.2.1 命名空間 148 8.2.2 代碼后置文件 150 8.2.3 使用簡單的屬性和類型轉換器 153 8.2.4 屬性語法與屬性元素語法 154 8.2.5 標記擴展特性 157 8.2.6 附加屬性 157 8.2.7 特定的字符和空白 160 8.2.8 在XAML中使用事件 161 8.2.9 使用其他命名空間中的類型 163 8.2.10 加載和編譯XAML 164 8.3 小結 169 第9章 Application全局應用程序類 170 9.1 應用程序生命周期 170 9.1.1 創建Application對象 170 9.1.2 創建一個自定義的Application類 172 9.1.3 關閉應用程序 173 9.1.4 應用程序事件 174 9.2 事件執行周期 175 9.2.1 Startup應用程序啟動事件 175 9.2.2 Activated和Deactiveated事件——激活與取消激活 176 9.2.3 DispatherUnhandledException事件——處理應用程序未處理的異常 177 9.2.4 SessionEnding事件——注銷或關閉系統 178 9.2.5 Exit事件——退出應用程序 179 9.3 Application類的任務 181 9.3.1 處理命令行參數 181 9.3.2 訪問當前的應用程序 182 9.3.3 單實例應用程序 185 9.4 小結 190 第10章 WPF布局 191 10.1 理解WPF布局 191 10.1.1 WPF的布局原理 191 10.1.2 布局的過程 192 10.1.3 布局容器 192 10.2 使用StackPanel進行簡單地布局 193 10.2.1 StackPanel示例 193 10.2.2 StackPanel布局屬性 195 10.3 使用WrapPanel和DockPanel 197 10.3.1 使用WrapPanel控件布局 197 10.3.2 使用DockPanel控件布局 198 10.3.3 簡單對話框的實現 200 10.4 Grid控件 201 10.4.1 創建Grid控件 201 10.4.2 調整行列尺寸 203 10.4.3 編程創建Grid控件 206 10.4.4 合并行和列 208 10.4.5 窗體分割 209 10.4.6 共享尺寸組 212 10.4.7 使用UniformGrid控件 216 10.5 基于坐標布局的Canvas 217 10.5.1 Canvas控件的使用方法 217 10.5.2 Canvas的Z軸 218 10.5.3 InkCanvas介紹 219 10.6 小結 221 第11章 內容控件 222 11.1 理解內容控件 222 11.1.1 什么是內容控件 222 11.1.2 Content屬性介紹 224 11.1.3 內容的對齊屬性 226 11.2 內容容器控件 227 11.2.1 ScrollViewer滾動條控件 227 11.2.2 GroupBox組合框和TabItem標簽頁控件 231 11.2.3 Expander可折疊控件 234 11.3 裝飾控件 236 11.3.1 Border邊框控件 237 11.3.2 Viewbox自動縮放控件 238 11.4 小結 239 第12章 WPF依賴屬性和事件路由 240 12.1 WPF中的樹 240 12.1.1 邏輯樹和視覺樹 240 12.1.2 編程遍歷樹結構 242 12.2 理解依賴屬性 244 12.2.1 依賴屬性的概念 244 12.2.2 定義依賴屬性 246 12.2.3 依賴屬性示例 249 12.2.4 共享依賴屬性 253 12.2.5 注冊附加屬性 254 12.3 理解事件路由 255 12.3.1 路由事件的概念 255 12.3.2 定義和注冊路由事件 257 12.3.3 事件路由策略 259 12.3.4 RoutedEventArgs類型的參數 262 12.3.5 附加事件 263 12.4 WPF中的事件 264 12.4.1 生命周期事件 264 12.4.2 鍵盤事件 265 12.4.3 鍵盤焦點 269 12.4.4 鍵盤狀態 270 12.4.5 鼠標事件 271 12.4.6 捕捉鼠標 275 12.4.7 鼠標拖放編程 277 12.4.8 文件拖放示例 279 12.5 小結 282 第13章 標準控件 283 13.1 控件基礎 283 13.1.1 背景色和前景色畫刷 283 13.1.2 透明度設置 285 13.1.3 更改字體 286 13.1.4 更改鼠標光標 287 13.2 內容控件 291 13.2.1 Label標簽控件 291 13.2.2 Button控件 292 13.2.3 CheckBox和RadioButton控件 295 13.2.4 ToolTip提示控件 296 13.2.5 使用ToolTipService對象ToolTip 298 13.2.6 使用Popup控件 300 13.3 文本控件 303 13.3.1 TextBox控件 304 13.3.2 選擇文本 305 13.3.3 PasswordBox密碼框控件 306 13.3.4 TextBlock控件 308 13.4 列表控件 310 13.4.1 ListBox列表框控件 310 13.4.2 獲取ListBox選定項 312 13.4.3 在ListBox中進行多選 314 13.4.4 ComboBox下拉列表框控件 315 13.5 范圍控件 318 13.5.1 ProgressBar進度條控件 318 13.5.2 Slider滑動條控件 319 13.6 小結 322 第14章 窗口與導航 323 14.1 Windows類簡介 323 14.1.1 Window類的基本屬性 323 14.1.2 窗口的生命周期 326 14.1.3 模式與非模式窗口 329 14.1.4 窗口的定位和尺寸 330 14.1.5 保存和恢復窗口位置 331 14.2 對話框窗口 332 14.2.1 窗口的宿主 332 14.2.2 對話框模型 333 14.2.3 MessageBox消息框 335 14.2.4 通用對話框 336 14.3 非矩形窗口 338 14.3.1 圓角窗口 339 14.3.2 圖形窗口 340 14.3.3 調整非矩形窗口尺寸 342 14.4 一個簡單的導航應用程序示例 343 14.5 基于頁面的用戶界面 345 14.5.1 Page類簡介 345 14.5.2 使用Hyperlink超級鏈接 346 14.5.3 片段導航 347 14.5.4 NavigationWindow導航窗口 348 14.5.5 Frame頁面框架 349 14.5.6 導航歷史記錄 352 14.6 NavigationService導航服務 353 14.6.1 編程控制導航 353 14.6.2 導航生命期事件 355 14.6.3 導航記錄管理 358 14.6.4 使用頁函數PageFunction 363 14.7 XAML瀏覽器應用程序 366 14.7.1 XBAP的特點 367 14.7.2 創建XBAP應用程序 367 14.8 小結 368 第15章 WPF資源、樣式和控件模板 369 15.1 程序集資源 369 15.1.1 添加資源 369 15.1.2 獲取程序集資源 369 15.2 對象資源 371 15.2.1 資源集合 372 15.2.2 靜態和動態資源 373 15.2.3 非共享資源 374 15.2.4 編程訪問資源 375 15.2.5 應用程序資源 375 15.2.6 系統資源 376 15.2.7 使用資源字典組織資源 377 15.3 樣式基礎 378 15.3.1 創建一個樣式對象 379 15.3.2 在樣式中設置屬性 380 15.3.3 根據指定的類型自動應用樣式 381 15.3.4 多級樣式 382 15.3.5 綁定事件處理器 382 15.4 樣式觸發器 384 15.4.1 創建簡單觸發器 384 15.4.2 創建事件觸發器 387 15.4.3 數據觸發器 387
15.5 控件模板 390 15.5.1 理解控件模板 390 15.5.2 一個按鈕模板示例 390 15.5.3 模板的綁定 392 15.5.4 模板觸發器 393 15.6 小結 395 第16章 形狀、變換和畫刷 396 16.1 WPF圖形 396 16.1.1 Shape類 396 16.1.2 Rectangle和Ellipse類 397 16.1.3 Stretch屬性 398 16.1.4 Line直線對象 399 16.1.5 Polyline多段線對象 400 16.1.6 Polygon多邊形對象 401 16.1.7 線帽和線連接點 403 16.1.8 繪制虛線 404 16.2 畫刷 405 16.2.1 LinearGradientBrush線性漸變畫刷 405 16.2.2 RadialGradientBrush徑向漸變畫刷 407 16.2.3 ImageBrush圖像畫刷 409 16.2.4 VisualBrush可視化對象畫刷 410 16.2.5 OpacityMask不透明蒙板 411 16.3 WPF變換 414 16.3.1 應用變換 414 16.3.2 TranslateTransform移動變換 415 16.3.3 RotateTransform旋轉變換 416 16.3.4 ScaleTransform縮放變換 417 16.3.5 SkewTransform扭曲變換 418 16.3.6 TransformGroup組合變換 419 16.4 位圖效果 420 16.4.1 模糊 420 16.4.2 凹凸效果 422 16.4.3 浮雕效果 423 16.4.4 發光和陰影 424 16.5 小結 425 第17章 幾何圖形、圖像和可視化層 426 17.1 路徑和幾何圖形 426 17.1.1 線型、矩形和橢圓幾何圖形 426 17.1.2 使用GeometryGroup組合形狀 427 17.1.3 使用CombinedGeometry結合形狀 428 17.1.4 認識PathGeometry對象 430 17.1.5 用PathGeometry對象繪制直線 431 17.1.6 用PathGeometry對象繪制弧線 431 17.1.7 用PathGeometry對象繪制貝塞爾曲線 432 17.1.8 使用幾何迷你語言 433 17.1.9 幾何圖形的裁切 434 17.2 繪圖 435 17.2.1 繪制形狀 436 17.2.2 繪制圖像 437 17.2.3 組合繪制 438 17.3 可視化層 439 17.3.1 在Visual上繪圖 439 17.3.2 DrawingVisual宿主容器 441 17.3.3 使用命中測試 443 17.4 小結 445 第18章 WPF數據綁定 446 18.1 數據綁定基礎 446 18.1.1 綁定到元素屬性 446 18.1.2 使用程序代碼創建綁定 447 18.1.3 綁定多個屬性 448 18.1.4 綁定的方向 449 18.1.5 綁定更新 450 18.1.6 綁定到非元素的對象 452 18.2 數據庫綁定 456 18.2.1 創建數據訪問組件 456 18.2.2 實現數據實體對象 458 18.2.3 顯示綁定對象 459 18.2.4 更新數據庫 461 18.3 小結 463 第4篇 WF工作流編程 第19章 WF編程入門 466 19.1 WF基礎 466 19.1.1 WF簡介 466 19.1.2 WF的開發環境 468 19.1.3 第一個工作流示例程序 469 19.1.4 WF架構簡介 473 19.2 使用WorkflowRuntime和WorkflowInstance類 474 19.2.1 理解WorkflowRuntime工作流引擎 475 19.2.2 理解WorkflowInstance工作流實例 478 19.3 工作流類型和創建模式 479 19.3.1 WF工作流的類型 480 19.3.2 一個簡單的狀態機工作流示例 480 19.3.3 WF工作流的創建模式 483 19.4 小結 484 第20章 WF活動 485 20.1 理解WF活動 485 20.1.1 活動的類層次結構 485 20.1.2 活動條件類型 485 20.2 使用WF的基本活動 488 20.2.1 使用IfElseActivity活動 489 20.2.2 使用WhileActivity活動 490 20.2.3 使用ParalleActivity活動 491 20.2.4 使用ReplicatorActivity活動 494 20.2.5 使用ConditionedActivityGroup活動 498 20.2.6 使用InvokeWorkflowActivity活動 501 20.2.7 使用TerminateActivity活動 504 20.2.8 使用SuspendActivity活動 504 20.3 本地服務和事件驅動的活動 507 20.3.1 理解和實現本地服務 507 20.3.2 使用本地服務在宿主和工作流之間通信 508 20.3.3 事件驅動的活動簡介 512 20.3.4 EventDrivenActivity和ListenActivity使用示例 513 20.3.5 使用EventHandlingScopeActivity活動 516 20.4 小結 522 第21章 WF服務 523 21.1 WF服務基礎 523 21.1.1 WF服務的分類 523 21.1.2 默認的服務類簡介 524 21.2 WF持久化服務 525 21.2.1 準備數據庫 525 21.2.2 創建工作流 527 21.2.3 使用SqlWorkflowPersistenceService 528 21.3 WF跟蹤服務 536 21.3.1 使用工作流跟蹤服務 536 21.3.2 跟蹤服務配置文件 540 21.4 小結 541 第22章 基于ASP.NET的工作流批核系統 542 22.1 工作流批核系統簡介 542 22.1.1 系統運行效果 543 22.1.2 系統基本結構 546 22.2 Workflows工作流項目 547 22.2.1 基于事件驅動的活動實現 548 22.2.2 UserActivity用戶活動實現 549 22.2.3 SaveWorkItems自定義活動實現 556 22.2.4 ApprovedWorkItemWorkflow工作流實例的實現 557 22.2.5 工作流項目幫助類的實現 559 22.3 ASP.NET宿主應用程序項目 561 22.3.1 初始化工作流運行時引擎 561 22.3.2 創建工作流實例 562 22.3.3 編輯和審核工作申請表單 564 22.4 小結 568 第5篇 WCF開發 第23章 SOA和WCF基礎介紹 570 23.1 SOA架構介紹 570 23.1.1 軟件設計思想發展的簡要介紹 570 23.1.2 什么是SOA 571 23.2 WCF簡要介紹 572 23.2.1 什么是WCF 572 23.2.2 WCF體系框架 573 23.2.3 WCF基礎概念介紹 575 23.3 第一個WCF程序 577 23.3.1 HelloWorld服務契約的定義 577 23.3.2 HelloWorld的宿主程序 579 23.3.3 訪問HelloWorld服務的客戶端程序 581 23.4 小結 583 第24章 通道模型和綁定 584 24.1 WCF通道模型 584 24.1.1 WCF通道模型概述 584 24.1.2 消息交換模式和通道形狀 585 24.1.3 數據報模式 585 24.1.4 請求-響應模式 588 24.1.5 雙工模式 590 24.1.6 帶會話的數據報模式、請求-響應模式和雙工模式 592 24.1.7 通道形狀的改變 592 24.1.8 通道形狀和上層服務協議 593 24.1.9 通道管理器 594 24.1.10 ICommunicationObject接口和狀態改變 595 24.2 標準綁定介紹 598 24.2.1 綁定的基本概念 598 24.2.2 標準綁定 599 24.2.3 設置綁定的方式 600 24.2.4 如何選擇綁定 601 24.3 本機WCF-WCF交互的綁定和地址 602 24.3.1 場景概述 602 24.3.2 IPC基本概念 603 24.3.3 使用netNamedPipeBinding 604 24.3.4 netNamedPipeBinding的地址和配置 605 24.3.5 netNamedPipeBinding特點總結 607 24.4 跨主機WCF-WCF交互的綁定和地址 607 24.4.1 場景概述 607 24.4.2 TCP協議概述 607 24.4.3 Net.Tcp端口共享 608 24.4.4 使用netTcpBinding 609 24.4.5 netTcpBinding的地址和配置 610 24.4.6 netTcpBinding特點總結 612 24.5 與WS-I Basic Web服務進行交互的綁定和地址 613 24.5.1 場景概述 613 24.5.2 SOAP協議概述 613 24.5.3 使用basicHttpBinding 614 24.5.4 basicHttpBinding的地址和配置 615 24.5.5 basicHttpBinding特點總結 617 24.6 與改進Web服務進行交互的綁定和地址 618 24.6.1 場景概述 618 24.6.2 改進Web服務協議概述 618 24.6.3 使用wsHttpBinding 622 24.6.4 wsHttpBinding的地址和配置 624 24.6.5 wsHttpBinding特點總結 627 24.6.6 使用wsDualHttpBinding 627 24.6.7 wsDualHttpBinding的地址和配置 628 24.6.8 wsDualHttpBinding特點總結 630 24.6.9 使用ws2007HttpBinding 630 24.7 使用脫機模式進行消息交互的綁定和地址 631 24.7.1 場景概述 631 24.7.2 MSMQ協議概述 631 24.7.3 使用netMsmqBinding 633 24.7.4 netMsmqBinding的地址和配置 634 24.7.5 netMsmqBinding特點總結 636 24.7.6 使用msmqIntegrationBinding 636 24.7.7 msmqIntegrationBinding的地址和配置 637 24.7.8 msmqIntegrationBinding特點總結 639 24.8 小結 640 第25章 定義服務:契約編程 641 25.1 契約定義和分類 641 25.1.1 什么是契約 641 25.1.2 契約分類 641 25.2 服務契約 642 25.2.1 服務契約和WSDL 642 25.2.2 服務契約的重載問題 644 25.2.3 定義請求-響應操作 646 25.2.4 定義單程操作 647 25.2.5 定義雙程操作 649 25.2.6 WCF中事件的實現 657 25.3 數據契約 661 25.3.1 數據契約和XSD 661 25.3.2 使用DataContract特性定義數據契約 663 25.3.3 數據契約的繼承 666 25.3.4 已知類型的定義 667 25.3.5 數據契約的等效性 672 25.3.6 數據契約的版本控制 675 25.3.7 定義必需的數據成員 678 25.3.8 數據默認值的發送 680 25.3.9 數組和集合的處理 680 25.4 消息契約 684 25.4.1 消息契約基本概念 684 25.4.2 強類型消息 686 25.4.3 弱類型消息 692 25.5 錯誤處理和錯誤契約 695 25.5.1 SOAP消息的錯誤處理 695 25.5.2 服務端未捕獲的異常 696 25.5.3 包含詳細異常信息 698 25.5.4 捕捉服務異常 699 25.5.5 FaultCode和FaultReason的使用 701 25.5.6 使用錯誤契約和FaultException 703 25.6 小結 706 第26章 WCF中的行為 707 26.1 實例管理 707 26.1.1 實例管理的設置 707 26.1.2 PerCall實例策略 708 26.1.3 PerSession實例策略和會話 710 26.1.4 Single實例策略 713 26.2 并發管理 717 26.2.1 并發管理的設置 717 26.2.2 Single并發模式 717 26.2.3 Multiple并發模式 720 26.2.4 Reentrant并發模式 721 26.3 元數據的發布 724 26.3.1 HTTP-GET方式發布元數據 724 26.3.2 MEX終結點方式發布元數據 727 26.4 事務管理 728 26.4.1 事務的基本概念和特性 728 26.4.2 單服務事務 729 26.4.3 分布式事務 733 26.4.4 事務協議和事務管理器 739 26.5 小結 741 第27章 安全 742 27.1 常用概念介紹 742 27.1.1 身份驗證 742 27.1.2 授權 743 27.1.3 保密性 743 27.1.4 完整性 743 27.1.5 憑據 743 27.2 傳輸安全性 744 27.2.1 傳輸安全性的三要素 744 27.2.2 WCF支持的傳輸安全模式 744 27.2.3 傳輸安全模式的配置 745 27.2.4 Transport安全模式下的憑證 746 27.2.5 Message安全模式下的憑證 747 27.3 局域網內Windows平臺系統的安全性 747 27.3.1 場景分析 747 27.3.2 服務定義 748 27.3.3 身份認證 750 27.3.4 授權 752 27.4 跨Internet系統的安全性 756 27.4.1 場景概述和綁定選擇 756 27.4.2 消息安全 757 27.4.3 身份認證 760 27.4.4 授權 762 27.5 安全機制的日志和跟蹤 763 27.6 小結 764 第28章 自動點滴管理系統 765 28.1 需求分析 765 28.1.1 系統介紹 765 28.1.2 客戶端功能 765 28.1.3 服務端功能 766 28.2 系統設計 766 28.2.1 服務邊界和接口 766 28.2.2 傳輸和寄宿的設計 766 28.2.3 界面的設計 767 28.3 系統實現 768 28.3.1 服務契約的定義 768 28.3.2 數據契約的定義 769 28.3.3 服務的實現 774 28.3.4 控制臺實現 780 28.3.5 客戶端實現 788 28.4 運行和測試 796 28.5 小結 797 |
序: |