精通C# 5.0與.NET 4.5高級編程--LINQ、WCF、WPF和WF | 做自己 - 2024年5月

精通C# 5.0與.NET 4.5高級編程--LINQ、WCF、WPF和WF

作者:張敬普
出版社:清華大學
出版日期:2014年02月01日
ISBN:9787302333883
語言:繁體中文

.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程序員,本書不失為一本極佳的案頭必備手冊。張敬普,畢業於西安電子科技大學,獲計算機專業碩士學位。精通.NET開發技術。曾經在東軟集團嵌入式事業部從事嵌入式開發工作,主持和參與了嵌入式DVD系統及一些應用系統的開發。在學術刊物上發表過多篇關於網絡及嵌入式開發方面的文章。目前供職於平頂山學院軟件學院,致力於網絡工程、嵌入式軟件開發等方向的教學與研究。

第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什麼是LINQ4.1.2如何使用LINQ4.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使用LINQtoDataSet5.2.2查詢單個數據表5.2.3查詢多個數據表5.2.4用查詢創建數據表5.2.5修改表中字段數據5.2.6使用數據視圖DataView5.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什麼是LINQtoXML6.1.2LINQtoXML與DOM6.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理解XAML8.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加載和編譯XAML8.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和DockPanel10.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基於坐標布局的Canvas10.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對象ToolTip13.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使用頁函數PageFunction14.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對象繪制直線117.1.6用PathGeometry對象繪制弧線117.1.7用PathGeometry對象繪制貝塞爾曲線217.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使用SqlWorkflowPersistenceService21.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什麼是SOA23.2WCF簡要介紹23.2.1什麼是WCF23.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使用netNamedPipeBinding24.3.4netNamedPipeBinding的地址和配置24.3.5netNamedPipeBinding特點總結24.4跨主機WCF-WCF交互的綁定和地址24.4.1場景概述24.4.2TCP協議概述24.4.3Net.Tcp端口共享24.4.4使用netTcpBinding24.4.5netTcpBinding的地址和配置24.4.6netTcpBinding特點總結24.5與WS-IBasicWeb服務進行交互的綁定和地址24.5.1場景概述24.5.2SOAP協議概述24.5.3使用basicHttpBinding24.5.4basicHttpBinding的地址和配置24.5.5basicHttpBinding特點總結24.6與改進Web服務進行交互的綁定和地址24.6.1場景概述24.6.2改進Web服務協議概述24.6.3使用wsHttpBinding24.6.4wsHttpBinding的地址和配置24.6.5wsHttpBinding特點總結24.6.6使用wsDualHttpBinding24.6.7wsDualHttpBinding的地址和配置24.6.8wsDualHttpBinding特點總結24.6.9使用ws2007HttpBinding24.7使用脫機模式進行消息交互的綁定和地址24.7.1場景概述24.7.2MSMQ協議概述24.7.3使用netMsmqBinding24.7.4netMsmqBinding的地址和配置24.7.5netMsmqBinding特點總結24.7.6使用msmqIntegrationBinding24.7.7msmqIntegrationBinding的地址和配置24.7.8msmqIntegrationBinding特點總結24.8小結第25章 定義服務:契約編程25.1契約定義和分類25.1.1什麼是契約25.1.2契約分類25.2服務契約25.2.1服務契約和WSDL25.2.2服務契約的重載問題25.2.3定義請求-響應操作25.2.4定義單程操作25.2.5定義雙程操作25.2.6WCF中事件的實現25.3數據契約25.3.1數據契約和XSD25.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使用錯誤契約和FaultException25.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元數據的發布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小結


相關書籍