出版時(shí)間:2008-1 出版社:人民郵電 作者:Patrick Smacchia 頁(yè)數(shù):765 譯者:施凡
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書(shū)是一本知識(shí)密集的C#技術(shù)經(jīng)典圖書(shū),Microsoft .NET MVP力作,眾多.NET專家口口相傳的一本秘籍。全書(shū)分為三個(gè)部分,第一部分講述底層的.NET平臺(tái),涵蓋了.NET各方面的基礎(chǔ)知識(shí)和工作原理;第二部分是C#語(yǔ)言部分,通過(guò)與C++比較的方式進(jìn)行講解,清晰易懂;第三部分講述.NETFramework中的基本類庫(kù),內(nèi)容幾乎涉及.NET常見(jiàn)領(lǐng)域的全部知識(shí)?! ”緯?shū)主要面向熟悉.NET的編程人員,也適合.NET技術(shù)的初學(xué)者閱讀。
作者簡(jiǎn)介
來(lái)自法國(guó)的微軟MVP,擁有多年大型項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)。
書(shū)籍目錄
第1章 .NET簡(jiǎn)介1.1 什么是.NET1.1.1 微軟軟件開(kāi)發(fā)平臺(tái)1.1.2 一組規(guī)范1.1.3 .NET概覽1.2 發(fā)展歷程1.2.1 過(guò)去1.2.2 現(xiàn)在1.2.3 未來(lái)1.3 微軟和Windows以外的.NET1.3.1 ECMA組織與.NET1.3.2 W3C聯(lián)盟1.3.3 Mono項(xiàng)目1.3.4 微軟SSCLI項(xiàng)目1.4 .NET資源鏈接1.4.1 網(wǎng)站1.4.2 新聞組1.4.3 博客第一部分 .NET平臺(tái)第2章 程序集、模塊和IL語(yǔ)言2.1 程序集、模塊和資源文件2.1.1 程序集和模塊2.1.2 資源文件2.1.3 程序集、模塊、類型和資源2.1.4 為何對(duì)多模塊程序集感興趣2.1.5 ILMerge工具2.2 模塊的剖析2.2.1 可移植的可執(zhí)行文件簡(jiǎn)介2.2.2 模塊的結(jié)構(gòu)2.2.3 清單的結(jié)構(gòu)2.2.4 類型元數(shù)據(jù)段的結(jié)構(gòu)2.3 使用ildasm.exe和Reflector工具分析程序集2.3.1 創(chuàng)建需要分析的程序集2.3.2 使用ildasm.exe分析模塊2.3.3 Reflector工具2.4 程序集attribute和版本設(shè)定2.4.1 程序集的標(biāo)準(zhǔn)attribute2.4.2 程序集的版本設(shè)定2.4.3 友元程序集2.5 強(qiáng)名稱程序集2.5.1 簡(jiǎn)介2.5.2 sn.exe工具2.5.3 公鑰記號(hào)2.5.4 為程序集簽名2.5.5 具體示例2.5.6 程序集的延遲簽名2.6 國(guó)際化/本地化與衛(wèi)星程序集2.6.1 區(qū)域設(shè)置和本地化2.6.2 資源文件2.6.3 在代碼中使用資源2.6.4 創(chuàng)建衛(wèi)星程序集2.6.5 部署和使用衛(wèi)星程序集2.6.6 避免在資源無(wú)法找到時(shí)引發(fā)異常2.6.7 Visual Studio與衛(wèi)星程序集2.6.8 區(qū)域設(shè)置與字符串格式化2.7 IL語(yǔ)言簡(jiǎn)介2.7.1 棧及其特殊的IL指令2.7.2 示例1:局部變量與棧2.7.3 示例2:方法調(diào)用與棧2.7.4 用于比較、分支和跳轉(zhuǎn)的IL指令2.7.5 IL的面向?qū)ο筇匦?.7.6 元數(shù)據(jù)符號(hào)第3章 生成、部署以及配置.NET應(yīng)用程序3.1 用MSBuild生成應(yīng)用程序3.2 MSBuild:目標(biāo)、任務(wù)、屬性、項(xiàng)與條件3.2.1 .proj文件、目標(biāo)與任務(wù)3.2.2 屬性3.2.3 項(xiàng)3.2.4 條件3.3 高級(jí) MSBuild3.3.1 增量生成與目標(biāo)間的依賴3.3.2 MSBuild轉(zhuǎn)換3.3.3 將一個(gè)MSBuild項(xiàng)目分解到多個(gè)文件3.3.4 Visual Studio 2005如何利用MSBuild3.3.5 創(chuàng)建自定義MSBuild任務(wù)3.4 配置文件3.4.1 machine.config文件3.4.2 標(biāo)準(zhǔn)配置參數(shù)3.4.3 使用 appSettings 元素定義配置參數(shù)3.4.4 使用配置節(jié)定義配置參數(shù)3.4.5 使用Visual Studio 2005創(chuàng)建配置節(jié)3.4.6 配置節(jié)的注意事項(xiàng)3.5 程序集部署:XCopy與GAC3.5.1 XCopy部署3.5.2 共享程序集與GAC文件夾3.5.3 GAC的并存存儲(chǔ)模型是如何解決DLL hell問(wèn)題的3.5.4 并存執(zhí)行3.5.5 查看及編輯GAC文件夾3.6 發(fā)布者策略程序集3.6.1 潛在的問(wèn)題3.6.2 解決方案3.6.3 創(chuàng)建發(fā)布者策略程序集3.7 .NET應(yīng)用程序部署簡(jiǎn)介3.7.1 MSI、cab、XCopy、ClickOnce 和NTD之間的對(duì)比3.7.2 MSI與ClickOnce的對(duì)比3.8 使用cab文件部署應(yīng)用程序3.9 使用MSI技術(shù)部署應(yīng)用程序3.9.1 添加文件3.9.2 安裝快捷方式3.9.3 在GAC文件夾中添加一個(gè)共享程序集3.9.4 安裝項(xiàng)目屬性3.9.5 更新注冊(cè)表3.9.6 指定在安裝期間執(zhí)行的自定義動(dòng)作3.9.7 為安裝提供一個(gè)自定義用戶界面3.10 使用ClickOnce技術(shù)部署應(yīng)用程序3.10.1 部署文件夾3.10.2 為ClickOnce部署做準(zhǔn)備3.10.3 ClickOnce部署與移動(dòng)代碼安全3.10.4 按需安裝與下載組3.10.5 更新一個(gè)使用ClickOnce安裝的應(yīng)用程序3.10.6 應(yīng)用程序所需的CAS權(quán)限集的工作機(jī)制3.10.7 ClickOnce應(yīng)用程序安裝與執(zhí)行的細(xì)節(jié)3.11 使用無(wú)接觸部署(NTD)技術(shù)部署應(yīng)用程序3.12 如果目標(biāo)機(jī)器上沒(méi)有安裝.NET運(yùn)行庫(kù)怎么辦第4章 CLR4.1 應(yīng)用程序域4.1.1 簡(jiǎn)介4.1.2 線程與AppDomain4.1.3 卸載AppDomain4.1.4 AppDomain和孤立性4.1.5 System.AppDomain類4.1.6 在一個(gè)進(jìn)程中承載多個(gè)應(yīng)用程序4.1.7 在其他AppDomain的上下文中運(yùn)行代碼4.1.8 AppDomain類的事件4.1.9 在同一個(gè)進(jìn)程的AppDomain之間共享信息4.2 在Windows進(jìn)程內(nèi)通過(guò)運(yùn)行庫(kù)宿主加載CLR4.2.1 mscorsvr.dll和mscorwks.dll4.2.2 mscorlib.dll程序集4.2.3 運(yùn)行庫(kù)宿主介紹4.2.4 在同一臺(tái)計(jì)算機(jī)上承載多個(gè)版本的CLR4.2.5 使用CorBindToRuntimeExO函數(shù)加載CLR4.2.6 創(chuàng)建一個(gè)自定義的運(yùn)行庫(kù)宿主4.2.7 在自定義運(yùn)行庫(kù)宿主中調(diào)整CLR4.2.8 SQL Server 2005運(yùn)行庫(kù)宿主的特性4.3 剖析.NET應(yīng)用程序的執(zhí)行狀況4.4 定位和加載程序集4.4.1 CLR何時(shí)嘗試定位程序集4.4.2 CLR使用的定位算法4.4.3 配置文件的 assemblyBinding 元素4.4.4 定位算法示意圖4.4.5 影子復(fù)制機(jī)制4.5 運(yùn)行庫(kù)類型解析4.5.1 顯式或隱式加載程序集4.5.2 編譯時(shí)引用程序集4.5.3 示例4.5.4 類型解析算法示意圖4.6 JIT(即時(shí))編譯4.6.1 可移植的二進(jìn)制代碼4.6.2 即時(shí)編譯技術(shù)簡(jiǎn)介4.6.3 ngen.exe工具4.6.4 性能計(jì)數(shù)器與JIT編譯4.7 垃圾收集器和托管堆4.7.1 垃圾收集技術(shù)簡(jiǎn)介4.7.2 垃圾收集算法遇到的問(wèn)題4.7.3 .NET的GC4.7.4 第一步:尋找根對(duì)象4.7.5 第二步:建立活動(dòng)對(duì)象樹(shù)4.7.6 第三步:解除分配非活動(dòng)對(duì)象4.7.7 第四步:清理堆碎片4.7.8 第五步:重新計(jì)算托管引用所使用的物理地址4.7.9 推薦做法4.7.10 針對(duì)大對(duì)象的特殊堆4.7.11 多線程環(huán)境下的垃圾收集4.7.12 弱引用4.7.13 使用System.GC類影響GC的行為4.8 提高代碼可靠性的機(jī)制4.8.1 異步異常及托管代碼可靠性4.8.2 受約束執(zhí)行區(qū)域4.8.3 如何定義CER4.8.4 內(nèi)存門4.8.5 可靠性契約4.8.6 關(guān)鍵終結(jié)器4.8.7 臨界區(qū)4.9 CLI和CLS4.9.1 .NET語(yǔ)言必須滿足的要求4.9.2 從開(kāi)發(fā)人員的觀點(diǎn)看CLI和CLS第5章 進(jìn)程、線程與同步5.1 簡(jiǎn)介5.2 進(jìn)程5.2.1 簡(jiǎn)介5.2.2 System.Diagnostics.Process類5.2.3 創(chuàng)建和銷毀子進(jìn)程5.2.4 避免在一臺(tái)機(jī)器上同時(shí)運(yùn)行同一應(yīng)用程序的多個(gè)實(shí)例5.2.5 終止當(dāng)前進(jìn)程5.3 線程5.3.1 簡(jiǎn)介5.3.2 受托管的線程與Windows線程5.3.3 搶占式多任務(wù)處理5.3.4 進(jìn)程與線程的優(yōu)先級(jí)5.3.5 System.Threading.Thread類5.3.6 創(chuàng)建與聯(lián)結(jié)線程5.3.7 掛起線程5.3.8 終止線程5.3.9 前臺(tái)線程與后臺(tái)線程5.3.10 受托管線程的狀態(tài)圖5.4 訪問(wèn)資源同步簡(jiǎn)介5.4.1 競(jìng)態(tài)條件5.4.2 死鎖5.5 使用volatile字段與Interlocked類實(shí)現(xiàn)同步5.5.1 volatile字段5.5.2 System.Threading.Inter-locked類5.5.3 Interlocked類提供的其他功能5.6 使用System.Threading.Monitor類與C#的lock關(guān)鍵字實(shí)現(xiàn)同步5.6.1 EnterO方法和ExitO方法5.6.2 C#的lock關(guān)鍵字5.6.3 SyncRoot模式5.6.4 線程安全類5.6.5 Monitor.TryEnterO方法5.6.6 Monitor類的WaitO方法、PulseO方法以及PulseAllO方法5.7 使用Win32對(duì)象同步:互斥體、事件與信號(hào)量5.7.1 共享Win32同步對(duì)象5.7.2 互斥體5.7.3 事件5.7.4 信號(hào)量5.8 利用System.Threading.Reader-WriterLock類實(shí)現(xiàn)同步 1135.9 利用System.Runtime.Remoting.Contexts.SynchronizationAttr-ibute實(shí)現(xiàn)同步5.9.1 同步域簡(jiǎn)介5.9.2 System.Runtime.Remoting.Contexts.Synchronization與同步域5.9.3 重入與同步域5.9.4 另一個(gè)名為Synchronization 的attribute5.10 CLR的線程池5.10.1 簡(jiǎn)介5.10.2 使用線程池5.11 定時(shí)器5.11.1 System.Timers.Timer類5.11.2 System.Threading.Timer類5.11.3 System.Windows.Forms.Timer類5.12 異步方法調(diào)用5.12.1 異步委托5.12.2 回調(diào)方法5.12.3 向回調(diào)方法傳遞狀態(tài)5.12.4 one-way調(diào)用5.13 線程-資源親緣性5.13.1 System.ThreadStatic-Attribute5.13.2 線程本地存儲(chǔ)(TLS)5.13.3 System.ComponentModel. ISynchronizeInvoke接口5.14 執(zhí)行上下文簡(jiǎn)介第6章 安全性6.1 代碼訪問(wèn)安全性(CAS)概述6.1.1 什么是移動(dòng)代碼6.1.2 CAS:全局觀6.1.3 給程序集代碼授予權(quán)限6.1.4 在運(yùn)行程序集的代碼時(shí)檢查權(quán)限6.2 CAS:證據(jù)和權(quán)限6.2.1 什么是證據(jù)6.2.2 .NET Framework所提供的標(biāo)準(zhǔn)證據(jù)6.2.3 誰(shuí)提供證據(jù)6.2.4 權(quán)限6.2.5 標(biāo)準(zhǔn)權(quán)限6.2.6 標(biāo)識(shí)權(quán)限6.2.7 安全權(quán)限6.2.8 自定義權(quán)限6.3 CAS:通過(guò)應(yīng)用安全策略根據(jù)證據(jù)授予權(quán)限6.3.1 安全策略級(jí)別6.3.2 剖析安全策略6.3.3 用于應(yīng)用安全策略的算法6.3.4 默認(rèn)安全策略配置6.3.5 配置安全策略6.4 CAS:FullTrust權(quán)限6.5 CAS:從源代碼進(jìn)行命令式的權(quán)限檢查6.5.1 CodeAccessPermissions類和PermissionSet類6.5.2 DemandO方法6.5.3 DenyO方法、RevertDenyO方法、PermitOnlyO方法和RevertPermitOnlyO方法6.5.4 AssertO方法和RevertAssertO方法6.5.5 FromXmlO方法和ToXmlO方法6.5.6 System.Security.IPermission接口6.6 CAS:使用attribute進(jìn)行聲明式的權(quán)限檢查6.6.1 加載程序集時(shí)調(diào)整所授權(quán)限集合的attribute6.6.2 命令式與聲明式的對(duì)比6.7 CAS:測(cè)試和調(diào)試移動(dòng)代碼的實(shí)用機(jī)制6.8 CAS:獨(dú)立存儲(chǔ)區(qū)權(quán)限6.9 .NET、Windows 用戶與角色6.9.1 Windows安全簡(jiǎn)介6.9.2 IIdentity接口與IPrincipal接口6.9.3 Windows 安全標(biāo)識(shí)符6.9.4 在底層Windows線程中模擬用戶6.10 .NET與Windows資源的訪問(wèn)控制6.10.1 Windows訪問(wèn)控制簡(jiǎn)介6.10.2 在.NET代碼中使用特殊的SD6.10.3 在.NET代碼中使用通用的SD6.11 .NET與角色6.11.1 定義應(yīng)用程序域的主體策略6.11.2 檢查用戶是否屬于某個(gè)特定角色6.11.3 COM+角色6.12 .NET與密碼學(xué):對(duì)稱算法6.12.1 對(duì)稱算法概述6.12.2 .NET Framework與對(duì)稱算法6.13 .NET與密碼學(xué):非對(duì)稱算法(公鑰/私鑰)6.13.1 非對(duì)稱算法概述6.13.2 安全會(huì)話簡(jiǎn)介6.13.3 RSA 算法6.13.4 非對(duì)稱算法與數(shù)字簽名6.13.5 .NET Framework與RSA算法6.14 數(shù)據(jù)保護(hù)API6.14.1 Windows的數(shù)據(jù)保護(hù)API6.14.2 System.Security.Crypto-graphy.ProtectedData類6.14.3 System.Security.Crypto-graphy.ProtectedMemory類6.14.4 System.Security.SecureString類6.14.5 保護(hù)配置文件中的數(shù)據(jù)6.14.6 確保網(wǎng)絡(luò)傳輸中數(shù)據(jù)的安全6.15 使用Authenticode 技術(shù)與X.509證書(shū)驗(yàn)證程序集6.15.1 Authenticode與強(qiáng)名稱6.15.2 證書(shū)與證書(shū)認(rèn)證中心6.15.3 根證書(shū)6.15.4 Windows、.NET與Authenti- code技術(shù)第7章 反射、后期綁定與attribute7.1 反射7.1.1 何時(shí)需要反射7.1.2 .NET反射有何新意7.1.3 對(duì)載入AppDomain的程序集的反射7.1.4 從元數(shù)據(jù)獲取信息7.2 后期綁定7.2.1 “綁定類”的含義7.2.2 早期綁定與動(dòng)態(tài)綁定7.2.3 后期綁定7.2.4 在C#編譯到IL期間如何實(shí)例化一個(gè)未知的類7.2.5 使用后期綁定7.2.6 利用接口:使用后期綁定的正確方法7.3 attribute7.3.1 attribute是什么7.3.2 何時(shí)需要attribute7.3.3 關(guān)于attribute應(yīng)該知道的事7.3.4 可以應(yīng)用attribute的代碼元素7.3.5 .NET Framework中的一些標(biāo)準(zhǔn)attribute7.3.6 自定義的attribute的示例7.3.7 條件attribute7.4 動(dòng)態(tài)生成程序集并在運(yùn)行中使用7.4.1 為什么要考慮動(dòng)態(tài)生成程序集7.4.2 一個(gè)實(shí)際的問(wèn)題 1867.4.3 理想的第三種解決方案——?jiǎng)討B(tài)創(chuàng)建程序集7.4.4 將程序集保存到磁盤上的能力7.4.5 結(jié)論第8章 .NET與本機(jī)代碼/COM/COM+之間的互操作性8.1 P/Invoke8.1.1 DllImportAttribute8.1.2 類型轉(zhuǎn)換8.1.3 使用指針傳遞參數(shù)8.1.4 傳遞字符串8.1.5 傳遞結(jié)構(gòu)與聯(lián)合8.1.6 方向attribute8.1.7 委托與非托管的函數(shù)指針8.2 C++/CLI語(yǔ)言互操作性簡(jiǎn)介8.2.1 IJW功能8.2.2 托管類型與非托管類型共存8.2.3 在本機(jī)代碼中使用托管對(duì)象8.3 .NET與Win32句柄8.3.1 簡(jiǎn)介8.3.2 HandleCollector類8.3.3 SafeHandle類與Critical-Handle類8.4 在.NET 中使用COM 對(duì)象8.4.1 類型元數(shù)據(jù)與類型庫(kù)8.4.2 Interop程序集與Runtime Callable Wrapper類8.4.3 訪問(wèn)不使用類型庫(kù)的COM組件中的COM類8.4.4 使用Visual Studio導(dǎo)入ActiveX8.4.5 使用RCW類時(shí)需要牢記的COM特性8.4.6 COM類的顯式后期綁定8.4.7 免注冊(cè)COM8.5 將.NET對(duì)象包裝成CCW8.5.1 CCW簡(jiǎn)介8.5.2 從.NET程序集中生成描述CCW類的COM類型庫(kù)8.5.3 在操作系統(tǒng)上注冊(cè)CCW8.5.4 將.NET程序集作為COM組件使用8.5.5 .NET異常與CCW8.5.6 處理對(duì)象生命周期8.6 COM+簡(jiǎn)介8.6.1 COM+是什么8.6.2 在.NET中使用COM+:企業(yè)服務(wù)8.7 COM+企業(yè)服務(wù)簡(jiǎn)介8.7.1 COM+企業(yè)服務(wù)的完整列表8.7.2 你需要COM+企業(yè)服務(wù)嗎8.8 在.NET類中利用COM+服務(wù)8.8.1 服務(wù)組件簡(jiǎn)介8.8.2 聲明服務(wù)組件使用的企業(yè)服務(wù)8.8.3 COM+上下文與服務(wù)組件8.8.4 COM+應(yīng)用程序簡(jiǎn)介8.8.5 COM+目錄8.8.6 COM+應(yīng)用程序的激活模式8.8.7 安裝服務(wù)組件8.8.8 查看并操作COM+目錄8.8.9 構(gòu)建一個(gè)使用服務(wù)組件的客戶第二部分 C#語(yǔ)言第9章 語(yǔ)言基本概念9.1 源代碼組織9.1.1 命名空間9.1.2 命名空間中可聲明的全套語(yǔ)法元素9.1.3 C#項(xiàng)目的結(jié)構(gòu)9.1.4 命名空間和程序集的組織9.2 編譯步驟9.3 預(yù)處理器9.3.1 預(yù)處理符號(hào)與條件編譯9.3.2 預(yù)處理符號(hào)與條件attribute9.3.3 #error指令和#warning指令9.3.4 #pragma warning disable 指令和#pragma warning restore指令9.3.5 #line指令9.3.6 #region指令和#endregion指令9.4 csc.exe編譯器9.5 別名機(jī)制9.5.1 創(chuàng)建命名空間和類型的別名9.5.2 命名空間別名限定符9.5.3 全局限定符9.5.4 外部別名9.6 注釋和自動(dòng)文檔9.6.1 注釋9.6.2 使用Visual Studio的任務(wù)列表9.6.3 自動(dòng)文檔9.7 標(biāo)識(shí)符9.8 控制結(jié)構(gòu)9.8.1 條件語(yǔ)句(if/else、?:和switch)9.8.2 循環(huán)語(yǔ)句(do、while、for和foreach)9.8.3 goto語(yǔ)句9.9 MainO方法第10章 從C# 2.0的角度看.NET 2.0類型系統(tǒng)10.1 對(duì)象在內(nèi)存中的存儲(chǔ)10.1.1 對(duì)象的分配和解除分配10.1.2 托管線程棧10.1.3 托管堆10.1.4 對(duì)象存儲(chǔ):托管線程棧與托管堆的比較10.1.5 靜態(tài)分配與動(dòng)態(tài)分配的比較10.2 引用類型和值類型10.3 公共類型系統(tǒng)(CTS)10.3.1 .NET類型不與任何編程語(yǔ)言關(guān)聯(lián)10.3.2 CTS:全局觀10.4 System.Object類10.5 對(duì)象比較10.5.1 等價(jià)與恒等10.5.2 自定義相等比較規(guī)則10.5.3 相等性與散列表10.5.4 自定義大小比較規(guī)則10.6 對(duì)象克隆10.7 裝箱和拆箱10.7.1 裝箱10.7.2 裝箱導(dǎo)致的危險(xiǎn)問(wèn)題10.7.3 拆箱10.8 基本類型10.8.1 整型10.8.2 實(shí)型10.8.3 布爾型10.8.4 字符型10.8.5 整數(shù)和字符串之間的轉(zhuǎn)換10.9 基本類型的運(yùn)算10.9.1 同一基本類型上的算術(shù)運(yùn)算10.9.2 處理被零除的錯(cuò)誤10.9.3 處理溢出10.9.4 運(yùn)算符的優(yōu)先級(jí)10.9.5 前綴和后綴遞增/遞減運(yùn)算符10.9.6 不同基本類型之間的算術(shù)運(yùn)算10.9.7 位運(yùn)算10.10 結(jié)構(gòu)10.11 枚舉10.11.1 枚舉和整型10.11.2 System.Enum類10.11.3 位域(一組標(biāo)志)10.12 字符串10.12.1 System.String類10.12.2 字符串字面常量10.12.3 無(wú)轉(zhuǎn)義字符串字面常量10.12.4 使用字符串10.12.5 格式化字符串10.12.6 System.Text.StringBui-lder類10.13 委托類和委托對(duì)象10.13.1 簡(jiǎn)介10.13.2 委托對(duì)象與靜態(tài)方法10.13.3 C# 2.0編譯器的委托類推測(cè)功能10.13.4 委托對(duì)象與實(shí)例方法10.13.5 用一個(gè)委托對(duì)象引用多個(gè)方法10.13.6 System.Delegate類10.13.7 更改引用方法列表10.14 可空類型10.14.1 值類型和空值范式10.14.2 System.Nullable T 結(jié)構(gòu)10.14.3 C#語(yǔ)法革新:Nullable T 關(guān)鍵字和null關(guān)鍵字10.14.4 C#語(yǔ)法革新:Nullable T 的等價(jià)寫法T?10.14.5 C# 2.0中bool?的無(wú)差別對(duì)待10.14.6 可空類型與裝箱/拆箱10.14.7 可空結(jié)構(gòu)和可空枚舉10.15 部分類型10.15.1 必須在每個(gè)部分聲明上重復(fù)出現(xiàn)的類型聲明元素10.15.2 在每個(gè)部分聲明上可選重復(fù)出現(xiàn)的類型聲明元素10.15.3 在多個(gè)部分聲明上重復(fù)出現(xiàn)就會(huì)累積效果的類型聲明元素10.15.4 僅在某個(gè)部分聲明上起作用的類型聲明元素第11章 類和對(duì)象11.1 簡(jiǎn)介11.2 術(shù)語(yǔ)11.3 類的定義11.4 字段11.4.1 字段初始化11.4.2 常數(shù)字段11.4.3 字段初始化的潛在問(wèn)題11.5 方法11.5.1 按值或按引用傳遞參數(shù)11.5.2 C#的默認(rèn)規(guī)則11.5.3 按引用傳遞任意參數(shù)11.5.4 在引用類型上使用ref關(guān)鍵字11.5.5 參數(shù)初始化11.5.6 輸出參數(shù)11.5.7 params關(guān)鍵字11.5.8 方法重載11.6 屬性11.6.1 get訪問(wèn)器11.6.2 set訪問(wèn)器11.6.3 關(guān)于屬性的注釋11.7 索引器11.8 事件11.8.1 介紹11.8.2 C#語(yǔ)法11.8.3 一個(gè)實(shí)際的例子11.8.4 異步事件處理11.8.5 在同步條件下保護(hù)代碼不受訂閱者方法所拋異常的影響11.9 嵌套類型11.10 封裝性和可見(jiàn)性11.10.1 成員的可見(jiàn)性11.10.2 類型的可見(jiàn)性11.10.3 屬性和索引器訪問(wèn)器的可見(jiàn)性11.10.4 私有成員的附加說(shuō)明11.10.5 IL語(yǔ)言可見(jiàn)性的附加說(shuō)明11.11 this關(guān)鍵字11.12 構(gòu)造函數(shù)11.12.1 構(gòu)造函數(shù)的聲明11.12.2 創(chuàng)建對(duì)象時(shí)訪問(wèn)構(gòu)造函數(shù)11.13 對(duì)象終結(jié)和析構(gòu)11.13.1 析構(gòu)函數(shù)、終結(jié)器和Object.FinalizeO方法11.13.2 IDisposable接口和DisposeO方法11.13.3 何時(shí)需要終結(jié)器和DisposeO方法11.14 靜態(tài)成員11.14.1 靜態(tài)字段、屬性和事件11.14.2 靜態(tài)方法11.14.3 靜態(tài)構(gòu)造函數(shù)11.14.4 靜態(tài)類11.15 運(yùn)算符重載11.15.1 算術(shù)運(yùn)算符的重載11.15.2 類型轉(zhuǎn)換運(yùn)算符的重載11.15.3 比較運(yùn)算符的重載11.15.4 運(yùn)算符重載和CLS第12章 繼承、多態(tài)性與抽象性12.1 目標(biāo):代碼重用12.1.1 潛在問(wèn)題12.1.2 解決方案之一:類的繼承12.2 類的繼承12.2.1 語(yǔ)法12.2.2 保護(hù)及內(nèi)部或保護(hù)可見(jiàn)性級(jí)別12.2.3 類繼承圖12.2.4 調(diào)用基類的構(gòu)造函數(shù)12.2.5 基類成員的可見(jiàn)性12.2.6 封閉類12.3 虛方法和多態(tài)性12.3.1 潛在問(wèn)題12.3.2 解決方案之一:虛方法和多態(tài)性12.3.3 示例一則12.3.4 屏蔽多態(tài)性12.4 抽象性12.4.1 潛在的問(wèn)題12.4.2 解決方案之一:抽象類和抽象方法12.4.3 示例一則12.4.4 同時(shí)使用abstract關(guān)鍵字和override關(guān)鍵字12.5 接口12.5.1 強(qiáng)制代碼使用者使用抽象體代替實(shí)現(xiàn)體12.5.2 解決方法命名的沖突12.5.3 解決接口擴(kuò)展帶來(lái)的沖突12.5.4 覆寫接口的實(shí)現(xiàn)方法12.5.5 接口與結(jié)構(gòu)12.6 虛擬或抽象屬性、事件和索引器12.7 is和as運(yùn)算符12.7.1 is運(yùn)算符12.7.2 as運(yùn)算符12.8 代碼重用的解決方案第13章 泛型13.1 C# 1.0的一個(gè)問(wèn)題以及使用C# 2.0 泛型的解決方法13.1.1 C# 1.0中集合項(xiàng)的類型化問(wèn)題13.1.2 C# 2.0泛型帶來(lái)的理想方案13.2 .NET 2.0泛型概覽13.2.1 聲明多個(gè)類型參數(shù)13.2.2 開(kāi)放和封閉泛型類型13.2.3 .NET泛型與C++模板的比較13.2.4 泛型類型的可見(jiàn)性13.2.5 泛型結(jié)構(gòu)與接口13.2.6 泛型類型與別名13.3 類型參數(shù)的約束13.3.1 默認(rèn)構(gòu)造函數(shù)約束13.3.2 派生約束13.3.3 引用類型或值類型約束13.4 泛型類型的成員13.4.1 方法重載13.4.2 靜態(tài)字段13.4.3 靜態(tài)方法13.4.4 類構(gòu)造函數(shù)13.4.5 運(yùn)算符重載13.4.6 嵌套類型13.5 運(yùn)算符與泛型13.5.1 類型參數(shù)的相等、不等及比較運(yùn)算符13.5.2 typeof運(yùn)算符與泛型13.5.3 params及l(fā)ock關(guān)鍵字與泛型13.5.4 default運(yùn)算符13.6 類型轉(zhuǎn)換與泛型13.6.1 基本規(guī)則13.6.2 類型轉(zhuǎn)換與泛型數(shù)組13.6.3 is和as運(yùn)算符13.7 繼承與泛型13.7.1 基本規(guī)則13.7.2 覆寫泛型類型的虛方法13.8 泛型方法13.8.1 簡(jiǎn)介13.8.2 泛型方法與約束13.8.3 虛擬泛型方法13.8.4 泛型方法類型參數(shù)的推測(cè)13.8.5 C# 2.0語(yǔ)法的二義性13.9 委托、事件與泛型13.9.1 簡(jiǎn)介13.9.2 泛型委托與泛型方法13.9.3 泛型與委托的協(xié)變性及反變性13.9.4 事件和泛型委托13.10 反射、attribute、IL與泛型13.10.1 泛型與System.Type類13.10.2 泛型與System.Reflection.MethodBase類及System.Reflection.MethodInfo類13.10.3 attribute與泛型13.10.4 IL語(yǔ)言與泛型13.11 .NET Framework 2.0中的泛型13.11.1 對(duì)象序列化與泛型13.11.2 .NET Remoting與泛型13.11.3 集合與泛型13.11.4 不支持泛型的領(lǐng)域第14章 不安全代碼、異常、匿名方法和迭代器14.1 指針和不安全代碼14.1.1 允許不安全代碼的編譯器選項(xiàng)14.1.2 在C#中聲明不安全代碼14.2 在C#中使用指針14.2.1 .NET中支持指針的類型14.2.2 聲明指針14.2.3 提領(lǐng)和間接運(yùn)算符14.2.4 取大小運(yùn)算符14.2.5 指針運(yùn)算14.2.6 指針類型轉(zhuǎn)換14.2.7 雙重指針14.2.8 定址對(duì)象14.2.9 指針和數(shù)組14.2.10 固定數(shù)組14.2.11 使用stackalloc關(guān)鍵字在棧上分配內(nèi)存14.2.12 字符串與指針14.3 利用異常處理錯(cuò)誤14.3.1 潛在問(wèn)題:如何恰當(dāng)處理運(yùn)行時(shí)出現(xiàn)的大多數(shù)錯(cuò)誤14.3.2 C#異常處理簡(jiǎn)介14.4 異常對(duì)象和定義自己的異常類14.4.1 System.Exception類14.4.2 定義自己的異常類14.4.3 從自己的代碼中拋出異常14.4.4 C#的非檢查型異常14.5 catch塊和finally塊14.5.1 catch塊的一些說(shuō)明(異常處理程序)14.5.2 finally塊14.5.3 增加異常語(yǔ)義14.6 從構(gòu)造函數(shù)或終結(jié)器中拋出的異常14.6.1 靜態(tài)構(gòu)造函數(shù)所拋異?;蜢o態(tài)字段初始化時(shí)所拋異常14.6.2 終結(jié)器所拋異常14.7 異常處理與CLR14.8 異常處理與Visual Studio14.9 異常管理使用指南14.9.1 何時(shí)考慮拋出異常14.9.2 在異常處理程序中做什么14.9.3 在何處放置異常處理程序14.9.4 異常與返回錯(cuò)誤代碼的對(duì)比14.9.5 永遠(yuǎn)不要預(yù)測(cè)bug造成的后果能夠被異常處理程序所捕獲14.10 匿名方法14.10.1 C# 2.0匿名方法簡(jiǎn)介14.10.2 匿名方法可以接受參數(shù)14.10.3 一個(gè)精妙的特殊語(yǔ)法14.10.4 匿名方法與泛型14.10.5 匿名方法的實(shí)際應(yīng)用14.11 C# 2.0編譯器與匿名方法14.11.1 簡(jiǎn)單的方式14.11.2 捕獲局部變量14.11.3 捕獲的局部變量與代碼復(fù)雜性14.11.4 匿名方法訪問(wèn)外圍方法的參數(shù)14.11.5 匿名方法訪問(wèn)外圍類的成員14.12 匿名方法的高級(jí)用法14.12.1 定義:閉包與詞法環(huán)境14.12.2 漫談閉包14.12.3 使用閉包代替類14.12.4 委托與閉包14.12.5 使用匿名方法處理集合14.13 C# 1.x迭代器14.13.1 可枚舉對(duì)象、枚舉器和Iterator設(shè)計(jì)模式14.13.2 實(shí)例一則14.13.3 一個(gè)可枚舉對(duì)象對(duì)應(yīng)多個(gè)枚舉器14.13.4 C# 1.x迭代器的缺點(diǎn)14.14 C# 2.0迭代器14.14.1 yield return關(guān)鍵字14.14.2 迭代器與泛型14.14.3 一個(gè)可枚舉對(duì)象對(duì)應(yīng)多個(gè)枚舉14.14.4 yield break關(guān)鍵字14.14.5 yield return關(guān)鍵字和yield break關(guān)鍵字的語(yǔ)法限制14.14.6 遞歸迭代器實(shí)例14.15 C# 2.0編譯器與迭代器14.15.1 編譯器自動(dòng)創(chuàng)建并使用的枚舉器類14.15.2 關(guān)于生成類的說(shuō)明14.16 C# 2.0迭代器的高級(jí)用法14.16.1 定義:協(xié)同例程和延拓14.16.2 通過(guò)迭代器利用協(xié)同例程和延拓的威力14.16.3 Pipeline模式14.16.4 延拓與多線程的比較14.16.5 C# 2.0迭代器的一個(gè)限制第三部分 .NET Framework第15章 集合15.1 使用foreach和in關(guān)鍵字迭代訪問(wèn)集合中的項(xiàng)15.1.1 在數(shù)組上使用foreach和in15.1.2 交錯(cuò)數(shù)組上的foreach語(yǔ)法15.1.3 在自定義集合類上支持foreach語(yǔ)法15.2 數(shù)組15.2.1 創(chuàng)建和引用數(shù)組15.2.2 訪問(wèn)數(shù)組的項(xiàng)和處理越界訪問(wèn)15.2.3 交錯(cuò)數(shù)組15.2.4 初始化數(shù)組的項(xiàng)15.2.5 數(shù)組的協(xié)變15.2.6 System.Array類15.2.7 位數(shù)組15.3 序列15.3.1 System.Collections.Generic.ICollection T 接口15.3.2 System.Collections.Generic.IList T 接口15.3.3 System.Collections.Generic.List T 類15.3.4 System.ComponentModel.IBindingList接口和System.ComponentModel.IListSource接口15.3.5 System.Collections.Generic.LinkedList T 類15.3.6 字符串列表15.3.7 System.Collections.Generic.Queue T 類15.3.8 System.Collections.Generic.Stack T 類15.4 字典15.4.1 System.Collections.Generic.IDictionary K,V 接口15.4.2 System.Collections.Generic.SortedDictionary K,V 類15.4.3 System.Collections.Generic.Dictionary K,V 類15.4.4 迭代訪問(wèn)字典中的項(xiàng)15.5 對(duì)集合中的項(xiàng)進(jìn)行排序15.5.1 IComparer T 接口和Icom-parable T 接口15.5.2 對(duì)數(shù)組中的項(xiàng)排序15.5.3 對(duì)List T 實(shí)例中的元素排序15.6 用于處理集合的函數(shù)對(duì)象15.6.1 特化的委托類型15.6.2 使用匿名方法15.6.3 List T 類和Array類支持函數(shù)對(duì)象15.6.4 C# 2.0的迭代器和集合15.7 System.Collections.Generic和System.Collections之間的聯(lián)系第16章 基類16.1 數(shù)學(xué)16.1.1 System.Math類16.1.2 System.Random類16.2 時(shí)間、日期和持續(xù)時(shí)間16.2.1 System.DateTime結(jié)構(gòu)16.2.2 System.TimeSpan結(jié)構(gòu)16.2.3 System.Diagnostics. Stopwatch類16.3 驅(qū)動(dòng)器、目錄、文件和路徑16.3.1 操作驅(qū)動(dòng)器16.3.2 操作目錄16.3.3 操作文件16.3.4 操作路徑16.3.5 文件系統(tǒng)監(jiān)視器16.4 注冊(cè)表16.4.1 引言16.4.2 注冊(cè)表的結(jié)構(gòu)16.4.3 注冊(cè)表的層級(jí)16.4.4 用.NET讀/寫注冊(cè)表16.5 調(diào)試16.5.1 用來(lái)自定義對(duì)象調(diào)試時(shí)的視圖的attribute16.5.2 調(diào)試“僅我的代碼”16.5.3 調(diào)試模式16.5.4 解決調(diào)試問(wèn)題16.6 跟蹤16.6.1 監(jiān)聽(tīng)器16.6.2 跟蹤源和源級(jí)別16.6.3 篩選跟蹤源16.6.4 跟蹤縮進(jìn)16.7 正則表達(dá)式16.7.1 引言16.7.2 語(yǔ)法16.7.3 示例16.7.4 .NET和正則表達(dá)式16.7.5 優(yōu)化正則表達(dá)式的求值16.8 控制臺(tái)16.8.1 光標(biāo)16.8.2 顯示16.8.3 大小與位置16.8.4 顏色16.8.5 數(shù)據(jù)輸入16.8.6 重定向控制臺(tái)的流16.8.7 雜項(xiàng)第17章 輸入、輸出和流17.1 流的簡(jiǎn)介17.1.1 流的類層次結(jié)構(gòu)17.1.2 操作流的工具17.1.3 流數(shù)據(jù)的類型化17.1.4 字符串編碼17.2 讀寫文件17.2.1 簡(jiǎn)單的文件讀寫17.2.2 讀寫二進(jìn)制數(shù)據(jù)文件17.2.3 讀寫文本文件17.2.4 以異步的方式操作流17.3 用套接字來(lái)使用TCP/IP17.3.1 套接字和TCP/IP簡(jiǎn)介17.3.2 以同步的方式操作套接字17.3.3 以異步的方式操作套接字17.4 獲取網(wǎng)絡(luò)接口和狀態(tài)的信息17.4.1 發(fā)現(xiàn)可用網(wǎng)絡(luò)接口17.4.2 Ping17.4.3 網(wǎng)絡(luò)發(fā)生更改時(shí)所觸發(fā)的事件17.4.4 網(wǎng)絡(luò)活動(dòng)統(tǒng)計(jì)17.5 HTTP和FTP客戶端17.5.1 URI17.5.2 WebClient類17.5.3 通過(guò)URI訪問(wèn)資源的其他類17.6 在HTTP.SYS上用HttpListener編HTTP服務(wù)器代碼17.6.1 HTTP.SYS簡(jiǎn)介17.6.2 System.Net.HttpListener類17.6.3 以異步方式處理HTTP請(qǐng)求17.7 支持郵件協(xié)議17.8 緩沖和壓縮數(shù)據(jù)流17.8.1 通過(guò)Decorator設(shè)計(jì)模式在流上應(yīng)用服務(wù)17.8.2 緩沖流數(shù)據(jù)17.8.3 壓縮數(shù)據(jù)流17.9 在串行端口上讀寫數(shù)據(jù)17.10 支持安全通訊協(xié)議:SSL、NTLM和Kerberos17.10.1 安全通訊協(xié)議簡(jiǎn)介17.10.2 安全通訊協(xié)議和System.Net.Security命名空間17.10.3 SslStream類17.10.4 NegociateStream類17.10.5 加密數(shù)據(jù)流第18章 Windows Forms應(yīng)用程序18.1 Windows用戶界面18.1.1 控制臺(tái)應(yīng)用程序與窗口應(yīng)用程序18.1.2 Windows消息簡(jiǎn)介18.1.3 Windows應(yīng)用程序開(kāi)發(fā)的發(fā)展18.1.4 System.Windows.Forms命名空間簡(jiǎn)介18.2 Windows Forms開(kāi)發(fā)簡(jiǎn)介18.2.1 處理事件18.2.2 編寫方法18.2.3 沒(méi)有Visual Studio的Windows Forms開(kāi)發(fā)18.3 Windows Forms開(kāi)發(fā)工具18.3.1 模態(tài)/非模態(tài)對(duì)話框簡(jiǎn)介18.3.2 鼠標(biāo)和鍵盤事件18.3.3 Paint事件18.3.4 異步處理18.3.5 其他特性18.4 標(biāo)準(zhǔn)控件18.4.1 Windows Forms 2.0控件的層次結(jié)構(gòu)18.4.2 新增控件概述18.5 創(chuàng)建自定義控件18.6 顯示和編輯數(shù)據(jù)18.6.1 Visual Studio 2005提供的工具18.6.2 BindingSource控件18.6.3 用BindingSource來(lái)利用數(shù)據(jù)源18.6.4 用對(duì)象列表作為數(shù)據(jù)源18.7 Windows Forms和本地化18.8 GDI+18.8.1 System.Drawing.Graphics類18.8.2 System.Drawing.Pen類18.8.3 System.Drawing.Brush類18.8.4 繪制文本18.8.5 處理圖像18.8.6 優(yōu)化圖像的處理18.8.7 動(dòng)畫(huà)和雙緩沖第19章 ADO.NET 2.019.1 數(shù)據(jù)庫(kù)簡(jiǎn)介19.1.1 DBMS19.1.2 RDBMS19.1.3 SQL語(yǔ)言19.1.4 分布式架構(gòu)的必要性19.2 ADO.NET簡(jiǎn)介19.2.1 連接模式與非連接模式19.2.2 數(shù)據(jù)提供程序19.2.3 ADO.NET:全局觀19.2.4 我們將在范例中使用的DB19.3 連接與數(shù)據(jù)提供程序19.3.1 解除應(yīng)用程序與數(shù)據(jù)提供程序之間的耦合19.3.2 連接字符串19.3.3 如何存儲(chǔ)連接字符串以及連接字符串存儲(chǔ)在哪里19.3.4 連接池19.3.5 訪問(wèn)數(shù)據(jù)源的元數(shù)據(jù)19.4 使用DataReader在連接模式下工作19.4.1 使用DataReader從數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)19.4.2 在數(shù)據(jù)庫(kù)端進(jìn)行標(biāo)量運(yùn)算19.4.3 使用SQL查詢來(lái)修改數(shù)據(jù)19.5 使用DataSet在非連接模式下工作19.5.1 使用來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù)填充緩存19.5.2 在DataSet中對(duì)多表之間的關(guān)聯(lián)進(jìn)行操作19.5.3 將DataSet中更新的數(shù)據(jù)保存到數(shù)據(jù)庫(kù)19.5.4 非連接模式與樂(lè)觀/悲觀并發(fā)策略19.5.5 DataSet中數(shù)據(jù)表的約束19.5.6 DataView類19.6 強(qiáng)類型DataSet19.6.1 創(chuàng)建強(qiáng)類型DataSet類19.6.2 TableAdapter和強(qiáng)類型SQL請(qǐng)求19.7 連接模式和非連接模式之間的橋接器19.8 對(duì)象與關(guān)系數(shù)據(jù)之間的橋接器19.8.1 結(jié)構(gòu)問(wèn)題19.8.2 行為問(wèn)題19.8.3 解決上述問(wèn)題的途徑19.8.4 用于對(duì)象關(guān)系映射的.NET工具19.9 SQL Server數(shù)據(jù)提供程序的專有功能19.9.1 異步請(qǐng)求19.9.2 批量復(fù)制19.9.3 SqlClient連接上的統(tǒng)計(jì)數(shù)據(jù)19.9.4 SQL Server 2005 Express版本第20章 事務(wù)20.1 事務(wù)簡(jiǎn)介20.1.1 事務(wù)管理器、資源管理器和數(shù)據(jù)源20.1.2 分布式事務(wù)以及2PC算法簡(jiǎn)介20.1.3 在SQL Server連接上進(jìn)行的本地事務(wù)20.1.4 分布式事務(wù)協(xié)調(diào)器20.2 System.Transactions20.2.1 LTM、持久RM和易變RM簡(jiǎn)介20.2.2 System.Transactions 實(shí)現(xiàn)的隱式事務(wù)20.2.3 在事務(wù)中被觸發(fā)的事件20.2.4 System.Transactions揭秘20.2.5 事務(wù)隔離級(jí)別簡(jiǎn)介20.2.6 事務(wù)作用域20.2.7 System.Transactions 實(shí)現(xiàn)的顯式事務(wù)20.3 System.Transactions的高級(jí)用法20.3.1 在多個(gè)線程中執(zhí)行一個(gè)事務(wù)20.3.2 以異步方式完成事務(wù)20.3.3 System.Transactions和CAS20.4 用于實(shí)現(xiàn)自定義RM的機(jī)制第21章 XML21.1 簡(jiǎn)介21.1.1 XML所解決的問(wèn)題21.1.2 統(tǒng)一文檔世界和數(shù)據(jù)世界21.1.3 XML文檔的結(jié)構(gòu)21.2 XSD、XPath、XSLT和XQuery簡(jiǎn)介21.2.1 用XSD schema類型化XML文檔及其數(shù)據(jù)21.2.2 Xpath21.2.3 XSLT21.2.4 XQuery21.3 遍歷和編輯XML文檔的方法21.4 使用XmlReader類和XmlWriter類的Cursor方法21.4.1 使用XmlReader類讀取數(shù)據(jù)21.4.2 在讀取數(shù)據(jù)時(shí)對(duì)其進(jìn)行驗(yàn)證21.4.3 使用XmlWriter類編輯數(shù)據(jù)21.5 使用XmlDocument類的Tree/DOM方法21.5.1 使用XmlDocument類裝載和遍歷XML文檔21.5.2 使用XmlDocument類編輯和保存XML數(shù)據(jù)21.5.3 使用XmlDocument類驗(yàn)證XML文檔21.5.4 XmlDocument類的事件21.6 使用XPath遍歷和編輯XML文檔21.6.1 對(duì)內(nèi)存中的DOM樹(shù)應(yīng)用XPath表達(dá)式21.6.2 用XPathNavigator對(duì)象遍歷XPathDocument對(duì)象21.6.3 用XPathNodeIterator對(duì)象遍歷XPath的選擇結(jié)果集21.6.4 用XPathNavigator對(duì)象編輯XmlDocument對(duì)象21.7 使用XSLT樣式表轉(zhuǎn)換XML文檔21.8 連接關(guān)系型數(shù)據(jù)與XML文檔的橋接器21.8.1 從DataSet獲取XML文檔21.8.2 用XML文檔填充DataSet21.8.3 System.Xml.XmlDataDocument類21.8.4 XML和SQL Server21.9 連接對(duì)象與XML文檔的橋梁21.9.1 System.Xml.XmlSerialization類21.9.2 用于XML序列化的attribute21.9.3 sgen.exe工具21.9.4 xsd.exe工具21.10 Visual Studio和XML21.10.1 創(chuàng)建、查看以及編輯XML 文檔和XSD schema21.10.2 用XSD schema驗(yàn)證XML文檔21.10.3 編輯和調(diào)試XSLT程序第22章 .NET Remoting22.1 簡(jiǎn)介22.1.1 什么是.NET Remoting22.1.2 FAQ22.2 按引用封送22.3 按值封送和二進(jìn)制序列化22.4 ObjectHandle類22.5 對(duì)象的激活22.5.1 分布式體系的組件22.5.2 宿主概覽22.5.3 信道概覽22.5.4 同步方式、異步方式和單向方式調(diào)用22.5.5 對(duì)象激活與對(duì)象創(chuàng)建22.6 well-known對(duì)象的激活22.7 客戶端激活的對(duì)象22.7.1 使用new關(guān)鍵字激活對(duì)象22.7.2 潛在的問(wèn)題22.8 Factory設(shè)計(jì)模式和soapsuds.exe工具22.8.1 Factory設(shè)計(jì)模式22.8.2 soapsuds.exe工具22.9 well-known和客戶端激活的對(duì)象的生命周期22.10 配置.NET Remoting22.10.1 配置宿主22.10.2 配置客戶端22.10.3 聯(lián)合使用接口和配置文件22.11 .NET Remoting服務(wù)器的部署22.11.1 Windows服務(wù)22.11.2 IIS22.12 安全的.NET Remoting信道22.12.1 安全的TCP信道22.12.2 安全的HTTP信道22.13 代理和消息22.13.1 把方法調(diào)用轉(zhuǎn)換成消息22.13.2 IMessage接口的層次結(jié)構(gòu)22.13.3 透明代理、真實(shí)代理和ObjRef類22.13.4 通過(guò)ObjRef類發(fā)布對(duì)象22.13.5 消息接收器22.13.6 為何考慮自定義真實(shí)代理22.13.7 開(kāi)發(fā)自定義真實(shí)代理22.13.8 在類的所有實(shí)例上使用自定義真實(shí)代理22.13.9 讀寫方法調(diào)用的參數(shù)22.14 信道22.14.1 簡(jiǎn)介22.14.2 發(fā)送方信道和代理22.14.3 接收方信道和服務(wù)器對(duì)象22.14.4 消息接收器、格式化程序和信道22.14.5 信道接收器提供程序22.14.6 示例:顯示網(wǎng)絡(luò)消息的大小22.15 .NET上下文22.15.1 簡(jiǎn)介22.15.2 上下文綁定和上下文靈活對(duì)象22.15.3 上下文attribute和上下文屬性22.15.4 消息接收器區(qū)域22.15.5 使用區(qū)域的示例22.15.6 調(diào)用上下文22.16 小結(jié)22.16.1 激活對(duì)象的方式22.16.2 截獲消息第23章 ASP.NET 2.023.1 簡(jiǎn)介23.1.1 歷史23.1.2 ASP與ASP.NET23.1.3 ASP.NET 1.x與ASP.NET 2.023.2 ASP.NET概覽23.2.1 Web Form23.2.2 運(yùn)行期的ASP.NET、IIS和Web應(yīng)用程序23.2.3 在你自己的.NET應(yīng)用程序中承載ASP.NET23.2.4 基于HTTP.SYS使用ASP.NET23.3 ASP.NET應(yīng)用程序的源代碼23.3.1 內(nèi)聯(lián)代碼23.3.2 服務(wù)器端腳本的代碼段23.3.3 代碼隱藏23.4 編譯和部署模型23.4.1 動(dòng)態(tài)編譯23.4.2 就地預(yù)編譯23.4.3 部署預(yù)編譯23.5 Web Form和控件23.5.1 服務(wù)器控件23.5.2 客戶端和服務(wù)器端之間的交互23.5.3 視圖狀態(tài)23.5.4 回發(fā)事件和非回發(fā)事件23.5.5 控件狀態(tài)23.5.6 跨頁(yè)面?zhèn)鬟f23.5.7 HTML服務(wù)器控件與Web服務(wù)器控件23.6 頁(yè)面生命周期23.7 ASP.NET應(yīng)用程序配置23.7.1 Web.Config文件的組織23.7.2 Web.Config文件的部分23.7.3 processModel 部分23.7.4 更新配置23.7.5 在運(yùn)行期應(yīng)用配置更新23.8 HTTP管線23.8.1 簡(jiǎn)介23.8.2 HttpApplication類和Global.asax文件23.8.3 HTTP上下文23.8.4 HTTP模塊23.8.5 HTTP處理程序23.9 狀態(tài)和會(huì)話管理23.9.1 會(huì)話管理23.9.2 處理會(huì)話標(biāo)識(shí)符23.9.3 會(huì)話存儲(chǔ)的標(biāo)準(zhǔn)實(shí)現(xiàn)23.9.4 為存儲(chǔ)會(huì)話提供自定義實(shí)現(xiàn)23.10 Provider設(shè)計(jì)模式23.11 錯(cuò)誤處理23.11.1 system .Web 配置元素和 customErrors 配置元素23.11.2 Application_Error事件23.11.3 ErrorPage屬性23.12 跟蹤、診斷以及事件管理23.12.1 trace.axd HTTP處理程序23.12.2 ASP.NET性能計(jì)數(shù)器23.12.3 ASP.NET狀態(tài)監(jiān)視23.13 輸入數(shù)據(jù)的校驗(yàn)23.13.1 校驗(yàn)控件23.13.2 實(shí)現(xiàn)自定義校驗(yàn)23.13.3 校驗(yàn)組23.13.4 ValidationSummary類23.14 用戶控件23.14.1 復(fù)合用戶控件23.14.2 用戶控件事件23.14.3 用戶控件狀態(tài)23.14.4 用戶控件與Visual Studio的設(shè)計(jì)時(shí)支持23.15 緩存23.15.1 頁(yè)面緩存23.15.2 緩存頁(yè)面的多個(gè)版本23.15.3 頁(yè)面片段緩存23.15.4 緩存后替換23.15.5 數(shù)據(jù)緩存23.15.6 緩存依賴23.15.7 SQL Server緩存依賴23.15.8 自定義緩存依賴23.16 數(shù)據(jù)源23.16.1 通過(guò)程序的方式綁定控件和數(shù)據(jù)源23.16.2 聲明式綁定控件和數(shù)據(jù)源23.16.3 平鋪數(shù)據(jù)源與層次數(shù)據(jù)源23.16.4 ObjectDataSource類23.16.5 利用數(shù)據(jù)源更新數(shù)據(jù)23.17 查看并編輯數(shù)據(jù) 23.17.1 GridView控件23.17.2 模板23.17.3 DetailsView控件23.17.4 FormView控件23.17.5 顯示XML數(shù)據(jù)23.18 母版頁(yè)23.18.1 母版頁(yè)和內(nèi)容頁(yè)面23.18.2 嵌套母版頁(yè)23.18.3 配置母版頁(yè)23.18.4 從內(nèi)容頁(yè)面訪問(wèn)母版頁(yè)23.19 ASP.NET 2.0與本地化23.20 站點(diǎn)導(dǎo)航23.21 安全23.21.1 通過(guò)IIS驗(yàn)證Windows用戶23.21.2 ASP.NET驗(yàn)證23.21.3 表單驗(yàn)證提供程序23.21.4 管理用戶23.21.5 管理角色23.21.6 安全服務(wù)器控件23.22 個(gè)性化與用戶配置23.22.1 配置提供程序以及用戶數(shù)據(jù)的管理23.22.2 匿名識(shí)別23.22.3 個(gè)性化與會(huì)話23.23 樣式、主題與皮膚23.23.1 CSS樣式和控件23.23.2 主題23.23.3 皮膚23.23.4 命名的皮膚23.24 WebPart23.24.1 創(chuàng)建包含WebPart的頁(yè)面23.24.2 設(shè)計(jì)方式23.24.3 WebPart目錄23.24.4 編輯方式23.24.5 連接WebPart第24章 使用.NET進(jìn)行Web服務(wù)開(kāi)發(fā)24.1 簡(jiǎn)介24.1.1 SOA:面向服務(wù)架構(gòu)24.1.2 SOAP和WSDL24.1.3 WS-I基本概要24.1.4 消息交換模式24.2 開(kāi)發(fā)一個(gè)簡(jiǎn)單的Web服務(wù)24.2.1 不使用Visual Studio開(kāi)發(fā)一個(gè)簡(jiǎn)單的Web服務(wù)24.2.2 使用Visual Studio開(kāi)發(fā)一個(gè)簡(jiǎn)單的Web服務(wù)24.3 測(cè)試與調(diào)試Web服務(wù)24.3.1 測(cè)試Web服務(wù)24.3.2 調(diào)試Web服務(wù)24.4 創(chuàng)建Web服務(wù)的.NET客戶端24.4.1 不使用Visual Studio來(lái)創(chuàng)建Web服務(wù)的.NET客戶端24.4.2 使用Visual Studio創(chuàng)建Web 服務(wù)的.NET客戶端24.5 異步調(diào)用與消息交換模式24.6 通過(guò).NET Remoting客戶端使用Web服務(wù)24.7 SOAP消息24.7.1 簡(jiǎn)介24.7.2 定義以及處理SOAP首部24.7.3 對(duì)SOAP消息體編碼24.7.4 SOAP錯(cuò)誤消息24.7.5 SOAP與底層傳輸協(xié)議24.8 Web服務(wù)契約與WSDL語(yǔ)言24.8.1 WSDL能夠表達(dá)什么24.8.2 剖析WSDL文檔24.9 WSE與WS-*規(guī)范簡(jiǎn)介24.9.1 WSE簡(jiǎn)介24.9.2 WSE 3.0所支持的規(guī)范24.9.3 安裝WSE24.9.4 WSE是如何利用SOAP擴(kuò)展的24.9.5 使用WSE診斷的第一個(gè)測(cè)試24.10 WSE尚未支持的WS-*規(guī)范24.10.1 WS-PolicyAttachment與WS-MetadataExchange24.10.2 WS-ReliableMessage24.10.3 UDDI and WS-Discovery24.10.4 WS-Federation24.10.5 WS-Coordination24.10.6 WS-AtomicTransaction與WS-BusinessActivity24.10.7 WS-Enumeration24.10.8 WS-Eventing24.10.9 WS-Management24.11 WCF簡(jiǎn)介附錄A C# 2.0的關(guān)鍵字附錄B .NET 2.0的新增功能附錄C 設(shè)計(jì)模式簡(jiǎn)介附錄D 針對(duì).NET 2.0平臺(tái)的工具
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
C#和.NET 2.0實(shí)戰(zhàn) PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版