Time of Update: 2017-02-28
做這個LoginDemo的目的是練習訪問資料庫,使用預存程序,最後是寫成使用者類。頁面組成:Default.aspx,LogSuccess.htm,LogFailure.htm資料庫test,表User:UserID(自增),UserName,PassWord前台:簡單的登陸介面後台代碼:1、很久以前做第一個例子的時候用的:代碼protected void CheckAccount() { string strConn = "server=localhost;uid=sa;
Time of Update: 2017-02-28
需求:作為服務方,需要監控每個調用webservice的用戶端。需要監控的資訊大致如下:用戶端的ip,用戶端調用了哪個類的哪個方法。於是自己花了點時間對asp.net的webservice機製作了一下探索。解決方案:在介面項目中編寫一個所有webservice介面的基類,在此基類的構造方法中,通過分析HttpContext.Current.Request得到想要的資訊。1.ip可以通過HttpContext.Current.Request.UserHostAddress得到2.調用發哪個方法以及
Time of Update: 2017-02-28
實際上是Json格式化問題,我們應該在返回json的時候進行格式化,我們需要重寫系統的JsonResult類using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Web.Mvc;using System.Text.RegularExpressions;using System.Web;using
Time of Update: 2017-02-28
許可權管理系統-漂亮的驗證碼我們上一節建了資料庫的表,但我發現很多東西還未完善起來,比如驗證碼,我們先做好驗證碼吧,驗證碼我們再熟悉不過了,為了防止惡意的登入,我們必須在登入頁面加入驗證碼,下面我將分享一個驗證碼,這個是用C#畫的,原理是,產生一個隨機4位元,將其儲存為session或者是cookie形式,將使用者輸入的驗證碼進行對比,驗證碼可以是一個視圖cshtml,或者是一個aspx頁面,也可以是一個ashx一般處理常式,我們這裡用ashx來顯示在App.Admin下的Core檔案夾下建立一
Time of Update: 2017-02-28
系統日誌和異常的處理③上一節我們講了如何捕獲異常和記錄日誌,這一節我們講,沒有捕獲的或者忘記捕獲的異常包括404錯誤等,我們統一處理這個異常。這一講是利用 Application_Error 捕獲所有異常,全域的異常處理為了減少代碼,統一異常處理,Application_Error位於Global.asax裡面,protected void Application_Error(object sender, EventArgs
Time of Update: 2017-02-28
系統日誌和異常的處理①系統需要越來越自動化,我們需要引入日誌記錄和異常捕獲管理員的操作記錄需要被記錄,看出哪些模組是頻繁操作,分析哪些是不必要的功能,哪些是需要被最佳化的。系統的異常需要被捕獲,而不是將系統出錯顯示出來給使用者就不了了知。我們需要異常日誌不斷改進系統。我們老說使用者,我們還沒有使用者權限的表,所以我們在Home中先加入一個虛擬使用者吧!首先我們建立一個使用者類AccountModel放在App.Models下的Sys檔案夾下using System;using
Time of Update: 2017-02-28
前面篇文章我們分別介紹用真正用於實施Model驗證的ModelValidator(《ASP.NET MVC以ModelValidator為核心的Model驗證體系: ModelValidator》),以及用於提供ModelValidator的ModelValidatorProvider(《ASP.NET MVC以ModelValidator為核心的Model驗證體系: ModelValidatorProvider》),那麼對於ASP.NET
Time of Update: 2017-02-28
旨在為目標Action方法的執行綁定輸入參數的Model綁定過程伴隨著對Model的驗證。藉助相應的驗證特性,我們可以直接以聲明的方式在Model類型上定義驗證規則,這些規則將會作為Model中繼資料的一部分。具體在Model綁定過程中,ModelBinder通過ValueProvider為Model對象的某個屬性提供相應屬性值之後,會根據定義在基於該屬性的Model中繼資料的驗證規則實施驗證。ASP.NET
Time of Update: 2017-02-28
總的來說,針對目標Action方法參數的Model綁定完全由組件ModelBinder來實現,在預設情況下使用的ModelBinder類型為DefaultModelBinder,接下來我們將按照逐層深入的方式介紹實現在DefaultModelBinder的預設Model綁定機制。[原始碼從這裡下載]一、簡單類型對於旨在繫結目標Action方法參數值的Model來說,最簡單的莫過於簡單參數類型的情況。通過《初識Model中繼資料》的介紹我們知道,複雜類型和簡單類型之間的區別僅僅在於是否支援針對字串
Time of Update: 2017-02-28
基於Web
Time of Update: 2017-02-28
在《ASP.NET
Time of Update: 2017-02-28
Razor引擎具有兩個核心的類型,一個是表示View本身的類型RazorView,另一個則是擷取和建立它的RazorViewEngine,我們將用兩篇文章對它們分別進行剖析。Razor引擎下的View通過類型RazorView表示,它與表示Web
Time of Update: 2017-02-28
通過.cshtml或者.vbhtml檔案定義的View能夠被執行,必須先被編譯成存在於某個程式集的類型,ASP.NET MVC採用動態編譯的方式對View檔案實施編譯。當我們在對ASP.NET MVC進行部署的時候,需要對.cshtml或者.vbhtml檔案進行打包。針對某個View的第一次訪問會觸發針對它的編譯,一個View對應著一個類型。我們可以對.cshtml或者.vbhtml進行修改,View檔案修改後的第一次訪問將會導致View的再一次編譯。和ASP.NET
Time of Update: 2017-02-28
在之前的兩篇文章(《EmptyResult &
Time of Update: 2017-02-28
定義在Controller中的Action方法大都返回一個ActionResult對象。ActionResult是對Action執行結果的封裝,用於最終對請求進行響應。ASP.NET MVC提供了一系列的ActionResult,它們本質上是通過怎樣的方式來響應請求的呢?這是這個系列著重討論的主題。一、ActionResult對請求的響應HTTP是一個單純的採用請求/回複訊息交換模式的網路通訊協定,Web伺服器在接收並處理來自用戶端的請求後會根據處理結果對請求予以響應。對於來自用戶端的訪問請求,
Time of Update: 2017-02-28
Model綁定是為作為目標Action的方法準備參數列表的過程,所以針對參數的 描述才是Model綁定的核心。在ASP.NET MVC應用編程介面中,服務於Model綁定的 參數中繼資料通過ParameterDescriptor類型來表示,而ActionDescriptor的 GetParameters方法返回的就是一個ParameterDescriptor數組。如下面的代碼片斷所示,ParameterDescriptor同樣實現了
Time of Update: 2017-02-28
ControllerDescriptor與ActionDescriptor的建立不論是用於描述Controller的ControllerDescriptor,還是用於描述Action方 法的ActionDescriptor,都具有同步和非同步兩個版本,那麼這些不同類型的
Time of Update: 2017-02-28
ASP.NET MVC應用的請求都是針對某個Controller的某個Action方法,所以對 請求的處理最終體現在對目標Action方法的執行。而Action方法具有相應的參數 ,所以在方法執行之前必鬚根據相應的規則從請求中提取相應的資料並將其轉換 為Action方法參數列表,我們將這個過程稱為Model綁定。在ASP.NET MVC應用編 程介面中,Action方法某個參數的中繼資料通過ParameterDescriptor表示,而兩個
Time of Update: 2017-02-28
在Model綁定過程中會通過啟用的Controller類型建立用於描述它的 ControllerDescriptor對象。Controller是一組Action方法的集合,而每一個 Action通過ActionDescriptor對象來表示,在這篇文章中我們就來著重談談不同 類型的ActionDescriptor。[本文已經同步到《How ASP.NET MVC
Time of Update: 2017-02-28
本文通過一個詳細的例子,來闡述了線上編輯XML文檔資料的方法。由於Netscape對XML的支援比較弱,因此,要實現跨平台的資料交換,資料的處理必須在伺服器端進行。要編輯XML文檔,首先要做的事情就是怎樣把這些資料提取並顯示給訪問者,XSL為我們顯示XML檔案提供了一個很好的解決方案。下面的例子就是利用XSL樣式單把XML文檔顯示出來,供使用者進行編輯,然後再把編輯後的資料提交到伺服器,在伺服器端進行資料的更新。這裡採用ASP(Active Server