書籍簡介
如果你只是想系統地學習如何簡單地利用asp.net快速地進行開發,《asp.net本質論》也許不是你想要的;如果你不滿足於只是會利用asp.net強大的控制項功能完成一些常規套用的開發,而是想深入探究asp.net的本質和精髓,實現從一個控制項使用人員向系統開發人員的過渡,那么這本書是你不能錯過的,也是你目前的唯一選擇。目錄
前言第1章 網站應用程式
1.1 web應用程式的簡單回顧
1.1.1 資源的地址—通用資源標識符
1.1.2 找到主機
1.1.3 http協定
1.2 最簡單的web伺服器
1.2.1 網路插座socket
1.2.2 基於tcplistener的web伺服器
1.2.3 基於httplistener的web伺服器
1.3 進入asp.net
1.3.1 web應用程式域
1.3.2 不使用gac和bin載入web應用程式域
1.3.3 默默無聞的工作者對象
1.3.4 web應用程式的運行時
1.4 對象化的http
1.4.1 請求參數的對象類型httprequest
1.4.2 處理回應的對象類型httpresponse
1.4.3 輔助的常用工具類httpserverutility
1.4.4 編碼與解碼
1.4.5 瀏覽器類型
1.5 創建自定義的asp.net伺服器
1.5.1 asp.netweb伺服器
1.5.2 監聽程式
1.5.3 部署程式集
1.5.4 各種各樣的cassini
1.6 本章小結
第2章 應用程式對象
2.1 請求的處理參數—上下文對象httpcontext
2.1.1 常用成員
2.1.2 底層方法
2.2 應用程式對象httpapplication
2.2.1 處理管道
2.2.2 httpapplication的處理管道
2.2.3 處理過程的簡單介紹
2.2.4 httpcontext狀態管理
2.3 處理httpapplication的事件
2.3.1 通過ihttpmodule創建httpapplication的事件處理程式
2.3.2 註冊httpmodule
2.3.3 不使用配置檔案註冊httpmodule
2.3.4 常見的httpmodule
2.3.5 httpmodule的事件
2.3.6 通過global.asax創建httpapplication的事件處理程式
2.3.7 global.asax中httpapplication事件的自動註冊
2.3.8 特殊的httpapplication事件處理
2.4 兩個特殊的事件
2.5 大檔案上傳問題
2.5.1 檔案上傳的規範
2.5.2 asp.net中的檔案上傳
2.5.3 檔案上傳的解決方案
2.5.4 通過httpmodule接管請求參數
2.5.5 自定義的請求參數對象
2.5.6 讀取上傳數據的接口和實現
2.5.7 讀取上傳數據流
2.5.8 註冊自定義的上傳管理
2.5.9 使用自定義的上傳管理
2.6 各種各樣的檔案上傳
2.6.1 無刷新的上傳:jqueryform
2.6.2 基於客戶端技術的上傳進度:swfupload
2.7 本章小結
第3章 http請求處理程式
3.1 處理程式
3.1.1 處理程式與httpapplication的關係
3.1.2 處理程式接口ihttphandler和ihttpasynchandler
3.1.3 在處理程式中使用會話
3.1.4 處理程式工廠
3.1.5 註冊處理程式
3.1.6 使用處理程式生成驗證碼
3.2 一般處理程式
3.2.1 一般處理程式工廠
3.2.2 使用一般處理程式的場合
3.2.3 使用一般處理程式生成驗證碼圖片
3.2.4 使用一般處理程式生成json
3.3 頁面處理程式
3.3.1 頁面處理程式工廠
3.3.2 創建頁面處理程式
3.3.3 生成的代碼
3.3.4 使用頁面處理程式
3.4 web服務處理程式
3.4.1 web服務處理程式工廠
3.4.2 使用web服務處理程式
3.4.3 web服務的常用標籤
3.4.4 派生自system.web.services.webservice類的意義
3.5 mvc處理程式
3.5.1 mvc的路由接口iroutehandler
3.5.2 自定義的iroutehandler
3.5.3 註冊路由處理程式
3.5.4 獲取控制器的工廠接口icontrollerfactory
3.5.5 mvc請求的處理過程
3.6 資源處理程式
?3.6.1 資源的處理程式配置
3.6.2 定義嵌入的資源
3.6.3 獲取資源的地址
3.6.4 使用嵌入的資源
3.7 禁止的處理程式
3.7.1 配置禁止訪問的資源
3.7.2 禁止訪問excel
3.8 虛擬路徑提供器
3.8.1 定義虛擬路徑提供器
3.8.2 註冊虛擬路徑提供器
3.8.3 壓縮檔案中的網站
3.8.4 sharpziplib
3.9 本章小結
第4章 asp.net中的執行緒與異步
4.1 執行緒基礎
4.1.1 執行緒
4.1.2 自定義執行緒
4.1.3 前台執行緒和後台執行緒
4.1.4 工作者執行緒和io執行緒
4.1.5 執行緒池
4.2 .net中執行緒處理
4.2.1 執行緒的創建與啟動
4.2.2 執行緒的狀態
4.2.3 執行緒的執行上下文
4.2.4 異步編程模式apm
4.2.5 基於事件的異步編程模式epm
4.2.6 異步執行緒的狀態與同步問?
4.2.7 處理管道中的異步問題
4.3 執行緒池
4.3.1 執行緒池的工作原理
4.3.2 將工作者執行緒加入執行緒池
4.3.3 將io執行緒加入執行緒池
4.4 httpapplication中的異步執行緒
4.4.1 asp.net中的執行緒池設定
4.4.2 異步步驟中的異步點
4.4.3 啟動和完成異步步驟
4.5 異步處理程式
4.5.1 異步處理程式接口
4.5.2 在處理程式中異步調用web服務
4.6 異步頁面
4.6.1 頁面異步任務的啟動和完成
4.6.2 異步頁面任務
4.6.3 異步頁面中訪問web服務三種方式
4.6.4 實例—查詢qq線上狀態
4.7 本章小結
第5章 頁面即對象
5.1 流動的網頁
5.1.1 位元組流
5.1.2 字元編碼
5.1.3 字元流
5.1.4 回應對象中的流
5.1.5專門輸出html的字元流
5.2 控制項—頁面對象的基石
5.2.1 控制項類
5.2.2 render和rendercontrol
5.2.3 控制項基類
5.2.4 組合模式composite
5.2.5 id是一個問題
5.3 形形色色的控制項
5.3.1 html控制項
5.3.2 web控制項
5.3.3 webpart控制項
5.4 控制項實現的常用接口
5.4.1 生成和回發
5.4.2 控制項的任意屬性iattributeaccessor
5.4.3 數據的回發ipostbackdatahandler
5.4.4 回發伺服器端事件ipostbackeventhandler
5.5 頁面
5.5.1 頁面與模板
5.5.2 母版頁
5.5.3 頁面就是一個處理程式
5.5.4 頁面的事件處理管道
5.5.5 處理頁面的事件
5.6 生成的過程
5.6.1 從模板到對象模型—buildprovider
5.6.2 從標記到控制項—controlbuilder
5.6.3 進入生成階段—controladapter
5.6.4 控制項適?器—controladapter
5.6.5 web控制項適配器—webcontroladapter
5.6.6 頁面適配器—pageadapter
5.6.7 使用adapter定製表單的action
5.7 自定義的url重寫
5.7.1 url重寫的原理
5.7.2 使用httpmodule實現url重寫
5.7.3 在配置檔案中處理重寫映射
5.7.4 無擴展名請求的處理問題
5.8 本章小結
第6章 狀態
6.1 基本狀態管理
6.1.1 隱藏域
6.1.2 cookie
6.1.3 url
6.2 視圖狀態viewstate
6.2.1 序列化和反序列化
6.2.2 控制序列化
6.2.3 base64
6.2.4 視圖狀態屬性與istatemanager接口
6.2.5 保存和恢復的時間點
6.2.6 視圖狀態的序列化器
6.2.7 使用視圖狀態實現路徑導航
6.3 控制項狀態controlstate
6.4 應用程式狀態application
6.5 會話狀態session
6.5.1 伺服器端的session
6.5.2 客戶端的sessionid
6.5.3 session保存的位置
6.5.4 session的過期問題
6.5.5 壓縮session數據
6.6 httpcontext狀態
6.7 cache
6.7.1 快取的原理
6.7.2 .net中的快取管理實現
6.7.3 基於檔案的快取依賴
6.7.4 基於sql的快取依賴
6.7.5 組合的快取依賴
6.7.6 刪除所有的快取項目
6.7.7 web伺服器端的頁面快取
6.7.8 頁面局部快取
6.7.9 自定義的輸出快取提供器
6.8 memcached
6.8.1 下載和安裝memcached
6.8.2 在asp.net中訪問memcached
6.9 統計當前線上用戶
6.9.1 module的處理
6.9.2 註冊module
6.9.3 module的配置參數
6.9.4 module的事件處理
6.10 本章小結
第7章 模板和數據綁定
7.1 頁面與綁定
7.1.1 嵌入式代碼塊和表達式
7.1.2 綁定表達式
7.1.3 目標target
7.1.4 容器container
7.1.5 觸發綁定事件的方法databind
7.2 控制項內的模板
7.2.1 基於模板的控制項
7.2.2 控制項模板中的container
7.2.3 DataBinder
7.2.4 page中的eval
7.2.5 在屬性中使用綁定表達式
7.3 repeater控制項
7.3.1 數據的來源datasource
7.3.2 repeater的基石—repeateritem
7.3.3 綁定的過程
7.3.4 綁定中的事件
7.3.5 綁定的結果:controls集合和items集合
7.3.6 回發中的itemcommand事件
7.4 高級數據控制項
7.4.1 唯一支持分欄的控制項-datalist
7.4.2 gridview
7.4.3 listview和datapager
7.5 數據源控制項
7.5.1 反射
7.5.2 兩種數據源
7.5.3 對象數據源
7.5.4 業務對象的標籤
7.5.5 頁面控制項與數據源控制項之間的關係
7.5.6 數據源控制項相關的事件點
7.5.7 基於數據源控制項的分頁
7.6 本章小結
第8章 自定義控制項
8.1 自定義控制項的繼承體系
8.2 自定義控制項涉及的相關類型
8.3 自定義的帶有上傳進度的按鈕
8.3.1 控制項的工作原理
8.3.2 選擇控制項的基類
8.3.3 自定義的數據類型
8.3.4 狀態的持久化
8.3.5 控制項的屬性
8.3.6 屬性轉換問題—typeconverter
8.3.7 編輯屬性數據uitypeeditor
8.3.8 保存在aspx中
8.3.9 設計器中的顯示效果
8.3.10 工具列中控制項的圖示
8.3.11 腳本嵌入和使用
8.3.12 控制項的呈現
8.3.13 使用自定義控制項
8.4 petshop中的自定義控制項
8.4.1 基類
8.4.2 表格
8.4.3 處理當前頁碼參數
8.4.4 datasource屬性
8.4.5 事件
8.4.6 生成
8.5 本章小結
第9章 mvc
9.1 asp.netmvc是表現層的mvc
9.2 在httpapplication中的asp.netmvc
9.2.1 創建routetable
9.2.2 urlroutingmodule事件處理
9.3 從url進入mvc之門
9.3.1 有意義的url
9.3.2 在iis6.0和iis7中的配置
9.3.3 從url到route
9.3.4 約束
9.3.5 routing
9.3.6 requestcontext的前世今生
9.3.7 在asp.netmvc中防盜鏈
9.4 控制器
9.4.1 控制器工廠
9.4.2 使用自定義的控制器工廠
9.4.3 為controller類傳遞構造函式的參數
9.4.4 controller的繼承關係
9.4.5 controller中的狀態管理
9.4.6 基於過濾器的擴展
9.4.7 選擇action
9.5 模型
9.5.1 綁定model
9.5.2 簡單參數和複雜參數
9.5.3 模型對象的元數據
9.5.4 model的驗證
9.5.5 自定義model的驗證
9.6 執行action
9.6.1 各種actionresult
9.6.2 向視圖傳遞數據
9.7 視圖
9.7.1 視圖引擎
9.7.2 經典視圖—viewpage
9.7.3 視圖引擎—razor
9.8 本章小結
第10章 iis與asp.net
10.1 網站
10.1.1 綁定
10.1.2 網站應用程式
10.1.3 虛擬目錄
10.2 通過isapi擴展iis
10.2.1 isapi擴展
10.2.2 isapi過濾器
10.2.3 clr是一個com組件
10.2.4 asp.net中的isapi擴展和過濾器
10.2.5 isapirewrite
10.3 iis與asp.net
10.3.1 iis5與asp.net
10.3.2 iis6與asp.net
10.3.3 iis7與asp.net
10.4 創建網站的兩種方法
10.5 asp.net中的加密與解密
10.5.1 machinekey
10.5.2 加密服務
10.5.3 配置節的加密和解密
10.6 本章小結
第11章 asp.net中的用戶
11.1 從iis開始
11.1.1 匿名用戶方式
11.1.2 基本身份驗證
11.1.3 ?要式身份驗證
11.1.4 集成windows身份驗證
11.1.5 .netpassport身份驗證
11.2 asp.net中的用戶信息
11.2.1 基於windows驗證的用戶
11.2.2 基於forms驗證的用戶
11.2.3 基於passport驗證的用戶
11.2.4 在iis7中使用表單驗證
11.3 .net中的用戶
11.3.1 用戶的標識iidentity
11.3.2 用戶iprincipal
11.4 網站中的用戶
11.5 成員管理
11.5.1 用戶的基本信息
11.5.2 成員管理的約定
11.5.3 基於sqlserver的成員管理實現
11.5.4 自定義的成員管理實現
11.5.5 輔助工具類membership
11.6 用戶的擴展信息—個性化數據
11.6.1 個性化數據的約定
11.6.2 個性化數據的屬性
11.6.3 實現自定義的個性化數據管理
11.6.4 匿名的個性化數據
11.6.5 合併匿名用戶的個性化數據
11.6.6 基於sqlserver的個性化數據管理
11.6.7 管理個性化數據
11.7 執行程式的用戶
11.7.1 執行網站程式的windows用戶
11.7.2 用戶模擬的作用
11.7.3 資料庫連線串中的用戶
11.8 本章小結
附錄 自定義配置參數