Time of Update: 2018-12-05
上一篇(windows下nginx+mono+fastCGI部署asp.net網站)參考了諸多前輩終於在windows下部署成功,唯一點遺憾就是asp.net webform下面樣式有點不對勁,mvc倒還可以.本篇說說我近兩天折騰Ubuntu的成果,對於一個沒接觸過Linux系統的人來說得從基礎幹起呀.下面先簡單的介紹下Ubuntu系統下面常用的幾條命令,掃掃盲:檔案管理 cd .. 回目前的目錄的上一級目錄 檔案管理 cd - 回上一次所在的目錄 檔案管理 cd ~ 或 cd
Time of Update: 2018-12-05
ASP中Server對象的功能,在ASP.NET中由HttpServerUtility類來實現。該類型的執行個體在AS.NET開始處理請求時建立,之後被儲存在請求上下文中。HttpServerUtility擁有大量輔助方法,通過HttpContext對象的Server屬性暴露給模組或處理常式(包括global.asax、頁面和Web服務)。HttpServerUtility類的屬性 該類提供了兩個屬性:MachineName和ScriptTimeout。MachineName屬效能夠返回當
Time of Update: 2018-12-05
資料來源控制項代表若干已命名的資料檢視,每個視圖能管理一個資料集合。該資料與資料來源控制項關聯,通過SQL式的操作(Select、Insert、Delete和Count)進行管理,能夠實現排序與分頁。資料來源控制項有兩種--表格式資料來源和層次型資料來源。下表對資料來源控制項做了簡要說明: 注意,SqlDataSource類並不只針對SQL Server,它還可以串連到任何能夠管理關聯性型資料的ADO.NET提供者。層次型資料來源控制項參見下表: 注意,資料來源控制項不會被顯示在頁面上,
Time of Update: 2018-12-05
.NET資料提供者的構成 .NET資料提供者的功能分為兩類:非串連的資料支援、串連的資料支援。 下表列出了.NET資料提供者的主要組件: 上表中組件的實現是基於一組介面定義的方法和屬性,見下表: 提供者工廠模型 從2.0版本開始,ADO.NET提供者的架構得到了改進,引入了工廠類。每種.NET資料提供者都包含繼承於基類DbProviderFactory的工廠類。工廠類代碼各自指定提供者的公用入口,下表列出了工廠類的主要方法: 如果擷取某種提供者的工廠呢?我們可使用一個新引入的類D
Time of Update: 2018-12-05
分頁錯誤的處理 ASP.NET提供了兩級全域異常攔截點,分別位於頁面級與應用程式級。 基類Page暴露了一個Error事件,我們可在頁面中重寫它,捕獲頁面執行期間引發的未處理異常。 HttpApplication類中也有Error事件,用於捕獲整個應用程式中拋出的所有未處理異常。頁面級錯誤處理 為捕獲特定頁面的未處理異常,我們需要定義Error事件的處理常式,如下所示:protected void Page_Error(object sender, EventArgs e){
Time of Update: 2018-12-05
從本質上講,Linq-to-SQL能夠將類與方法映射到資料來源對象上。LINQ概述 大多數應用程式以某種資料倉儲為中心。多年來,架構師在設計應用程式的過程中,一直通過對象對問題域進行建模。這些對象包括用於串連到資料訪問層的串連,來艱難地與資料庫進行互動,並通過物件模型建立關係模式。但這種方式對於簡單的應用程式顯得有些繁瑣。 LINQ的出現就是為瞭解決這些簡單應用程式的需求,為其提供一套功能強大且易用的工具,能在更高的概念層上對資料存放區進行操作。 .NET
Time of Update: 2018-12-05
簡單資料繫結 資料繫結運算式是由<%...%>包裹的可執行代碼,以#號為首碼。它可以通過DataBoundLiteralControl類的執行個體以編程方式加以管理。 資料繫結運算式通常從資料來源擷取資料,但並不是說它一定要從資料來源擷取資料,只要返回繫結資料,任何可執行代碼都是可以接受的。它僅在控制項的DataBinding事件被觸發時才執行計算。 樣本:<asp:label runat="server" Text='<%# DataTime.Now %>'
Time of Update: 2018-12-05
頁面的編譯 特定.aspx資源的程式集的產生分為兩個步驟進行。首先,該資源檔的原始碼會被解析,根據得到的資訊,從Page類(或Page的衍生類別)派生出相應的類。然後,動態產生的類會被編譯為程式集,該程式集之後會被緩衝到ASP.Net專用的臨時目錄下。 只要連結的aspx源檔案沒有被更改,且整個應用程式沒有重啟,已編譯的頁面就一直存在。對已連結aspx檔案的任何更改,將使相關程式集變為無效,並在該頁面下一次被請求時,強制HTTP運行庫建立新的程式集。 編輯web.config和global
Time of Update: 2018-12-05
HttpRequest對象包含了傳入Web請求的HTTP資料包中包含的所有資訊。HTTP標題、查詢字串、表單的輸入欄位、路徑和URL資訊的內容,被分別組織在不同的集合以及其他特殊對象中,能以編程方式便捷地訪問。當ASP.NET開始處理Web請求時,HttpRequest對象會被填充,並通過HttpContext的Request屬性暴露出來。HttpRequest類的屬性 HttpRequest類的屬性可被分為三類:請求類型、用戶端資料和串連有關請求的資訊 下表列出了有關請求資訊的屬性:
Time of Update: 2018-12-05
資料庫管理系統往往都提供二進位大對象的支援。當然,二進位對象欄位不一定非要儲存映像,它還可以儲存媒體檔案或長文字檔或其他二進位內容。 下面以從資料庫載入員工相片為例,展示一個HTTP處理常式的例子:public class DbImageHandler : IHttpHandler{public void ProcessRequest(HttpContext ctx) {//從查詢字串中擷取員工ID int id = -1;bool reaust =
Time of Update: 2018-12-05
主版頁面是一種由應用程式級(和頁面級)引用的特殊檔案,包含頁面的靜態布局。每個子頁面可自訂地區,引用主版頁面中特殊的預留位置控制項。子頁面是代碼塊的結合,運行庫會用它們來填充主版頁面。主版頁面的內容會合并到內容頁中,二者合在一起動態產生新的頁面類,響應使用者請求。合并的過程發生在編譯時間,且只發生一次。主版頁面與內容頁的處理 主版頁面的使用使頁面的處理和編譯方式發生了少許變化。首先,基於主版頁面的頁面有兩個依賴項:內容頁面的aspx源檔案和主版頁面的master檔案。如果兩個頁面中任意一個
Time of Update: 2018-12-05
對於工作階段狀態值的儲存,HttpSessionState類提供了一個基於字典的模型。只有同一會話上下文中的請求(即由同一個使用者發出的多個頁面請求)才可以訪問工作階段狀態。工作階段狀態的儲存和發布方式有很多,其中包括在Web Farm和Web Garden環境下的。但在預設情況下,工作階段狀態由ASP.NET背景工作執行緒持有。 工作階段狀態的可擴充模型提供了兩種方案: 1.
Time of Update: 2018-12-05
HTTP處理常式是真正負責處理請求的組件,它實現了IHttpHandler介面。該介面的ProcessRequest方法是控制請求處理的“中央控制台”。如,Page類實現IHttpHandler介面,它的ProcessRequest方法負責載入和儲存檢視狀態,還負責引發一些常見的事件(Init、Load、PreRender等)。 ASP.NET會將每個傳入的HTTP請求映射到相應的HTTP處理常式。HTTP處理常式工廠建立這些處理常式的執行個體對象(如,PageHandlerFactory
Time of Update: 2018-12-05
命令的執行 ADO.NET物件模型提供物兩種類型的命令對象:一種是一次性的命令,另一種是資料配接器。一次性命令用於執行SQL命令或預存程序,返回的是一種遊標。如果使用遊標,那麼串連必須處於開啟狀態。資料配接器是一個功能更強大的對象,內部使用的也是命令和遊標。它用於擷取資料,並將其載入到容器類中—DataSet或DataTable。用戶端應用程式可以在不與資料來源串連的情況下處理資料。SqlCommand類 SqlCommand代表SQL
Time of Update: 2018-12-05
out-of-band調用模型 使用AJAX功能在Web頁面中發揮作用的關鍵因素是發送out-of-band
Time of Update: 2018-12-05
在ASP.NET中,HTTP響應資訊由HttpResponse類進行封裝。該類的執行個體建立於處理請求的HTTP管道建立時,之後該執行個體被連結到與請求關聯的HttpContext對象,通過其Response屬性暴露。雖然使用者定義的ASP.NET代碼不需使用HttpResponse的建構函式,但此函數可協助我們理解該類的本質:public HttpResponse(TextWriter
Time of Update: 2018-12-05
圖片查看器處理常式 為加快處理速度,IIS會直接處理Web應用程式中的某些靜態資源,而不會調用ISAPI擴充。這些靜態檔案包括映像和HTML檔案。如果從瀏覽器直接請求gif或jpg檔案,IIS會擷取指定的資源,正確設定響應緩衝的內容類型,並將其輸出成檔案的位元組流. 如果瀏覽器地址指向包含多個映像的虛擬目錄呢?在這種情況下,IIS無法識別檔案夾的內容,而可能只返迴文件的列表。 那麼如何?指向該虛擬目錄地址,在瀏覽器中顯示該目錄片的預覽呢?圖片查看器HTTP處理常式的設計 首先,需要確定如
Time of Update: 2018-12-05
使用者設定檔簡介 在最抽象的層面,使用者設定檔是一種由ASP.NET運行庫組織到動態產生類中的屬性集合。設定檔資料會按不同的使用者分別儲存。當程式運行頁面被顯示時,ASP.NET會動態建立設定檔對象,它包含開發人員定義在資料模型中的相應類型的屬性。該對象之後被添加到HttpContext對象中,可通過Profile屬性擷取。資料模型的定義 為使用ASP.NET設定檔,我們需要先確定所要使用的資料模型結構,然後將該資料模型通過設定檔附在頁面中。使用者設定檔的布局定義在web.config檔案中
Time of Update: 2018-12-05
ASP.NET AJAX伺服器基礎結構中最重要的控制項包括ScriptManager(指令碼管理器)及ScriptManagerProxy(指令碼管理器代理)。每個ASP.NET
Time of Update: 2018-12-05
ASP.NET提供了4個層面上的狀態管理工具:應用程式、會話、頁面和請求,每層都有專用的容器物件。應用程式的狀態 下表總結了各狀態物件的主要功能: 儘管HttpApplicationState和HttpSessionState對象與ASP內部對象Application和Session的名稱不同,但在狀態方面,它們的功能完全一致。 HttpApplicationState對象可使應用程式中的所有請求處理常式獲得一種字典形式的儲存物件。所有HTTP處理常式和模組都能夠儲存和檢索應用程式字典