Time of Update: 2017-02-28
昨天有位同學問到關於在routes集合中添加自訂的路由執行個體的問題,她出現的問題是這樣的:1.因為要在應用程式戾動時將執行個體添加到routes表中,所以需要把代碼寫在Global類的RegisterRoutes方法中,代碼如下兩種方式: routes.Add("s", new Route("a/b", new WebFormRouteHandler("~/WebForm1.aspx")));
Time of Update: 2017-02-28
Apple的市集現已有超過50萬的應用,Android也接近這個數字,而新貴Windows Phone近期也超過了5 萬,並且還在快速發展中。行動裝置 App行業:市場分化帶來的挑戰在這個令人振奮的背景下,我 們能夠確信,不久的將來移動平台上將出現大量行業應用。與機遇相隨的是,行動裝置 App開發也將面臨著它自身 的一系列挑戰。主要的挑戰之一是市場分化的問題。2012第三季度的調查顯示,移動作業系統市場的
Time of Update: 2017-02-28
以下通過一個ASP.NET的Demo,希望能使您加深對多態的理解。現在的需求是這樣子(當然該需求 是藉助於最近的項目中碰到的問題),在該系統中的流程管理中,有兩個頁面,一個顯示的是我本人發起的審 批列表,另一個是等待我進行審批的列表,他們的查詢以及列表顯示和查看審批曆史等均一致,唯一不同的是 待審批還有一個可執行審批動作的一列,但是不同的人或者在不同的應用(我在這裡假設該系統是有多個應用 的複雜系統)裡面擷取到列表的列是不一樣的,所以需要使用動態列,當然這些資料來源我在這裡不贅述,為
Time of Update: 2017-02-28
在前一篇文章中,主要討論了使用HTTP基本認證的方法,因為HTTP基本認證的方式決定了它在安全性方面 存在很大的問題,所以接下來看看另一種驗證的方式:digest authentication,即摘要認證。摘要認 證原理在基本認證的方式中,主要的安全問題來自於使用者資訊的明文傳輸,而在摘要認證中,主要通 過一些手段避免了此問題,大大增加了安全性。下圖為摘要驗證的驗證原理流程圖。
Time of Update: 2017-02-28
在前一篇文章ASP.NET Web API(一):使用初探,GET和POST資料中,我們初步接觸了微軟的REST API: Web API。我們在接觸了Web API的後就立馬發現了有安全驗證的需求,所以這篇文章我們先來討論下 安全驗證一個最簡單的方法:使用HTTP基本認證。HTTP基本認證原理在HTTP協議進行通訊的過 程中,HTTP協議定義了基本認證過程以允許HTTP伺服器對WEB瀏覽器進行使用者身份認證的方法,當一個用戶端
Time of Update: 2017-02-28
概述REST(Representational State Transfer具象狀態傳輸)而產生的REST API的討論越來越多 ,微軟在ASP.NET中也添加了Web API的功能。我們看dudu的文章HttpClient + ASP.NET Web API, WCF 之外的另一個選擇知道了部落格園也開始使用了Web API,且在使用Web API Beta版本的時候遇到了這個問題: 癡情意外:ASP.NET WebAPI RC 竟然不支援最常用的json傳參。我們剛好看看Web
Time of Update: 2017-02-28
由於CodeSmith的代碼模板使用了和Asp.Net類似的文法,因此如果要使用CodeSmith 模板產生Asp.Net指令碼時比如“<%” 就碰到了問題, <% 會被CodeSmith解釋成CodeSmith自己的標記,因此需要使用轉義標籤來代替需要插入到Asp.Net代碼中的 標籤。具體方法是使用 <%% 來替換需要產生的Asp.Net中的 <%標記。比如我們要產生如下的Asp.Net代碼 :<asp:FormView
Time of Update: 2017-02-28
一、ASP.NET + MVCIIS與ASP.NET管道MVC、MVP以及Model2[上篇]MVC、MVP以及Model2[下篇]ASP.NET MVC是如何啟動並執行[1]: 建立在“偽”MVC架構上的Web應用ASP.NET MVC是如何啟動並執行[2]: URL路由ASP.NET MVC是如何啟動並執行[3]: Controller的啟用ASP.NET MVC是如何啟動並執行[4]: Action的執行 二、URL
Time of Update: 2017-02-28
在ActionInvoker對Action的執行過程中,除了通過利用ActionDescriptor對Action方法的執行,以及之前進行的Model綁定與驗證之外,還具有一個重要的工作,那就是對相關篩選器(Filter)的執行。ASP.NET MVC的篩選器是一種基於AOP(面向方面編程)的設計,我們將一些非業務的邏輯實現在相應的篩選器中,然後以一種橫切(Crosscutting)的方式應用到對應的Action方法。當Action方法執行前後,這些篩選器會自動執行。ASP.NET
Time of Update: 2017-02-28
我們不僅可以建立相應的模板來根據Model中繼資料控制種類型的資料在UI介面上的呈現方法,還可以通過一些擴充來控制Model中繼資料本身。在某些情況下通過這兩者的結合往往可以解決很多特殊資料的呈現問題,我們接下來示範的執行個體就是典型的例子。傳統的ASP.NET具有一組重要的控制項類型叫做清單控制項(ListControl),它的子類包括DropDownList、ListBox、RadioButtonList和CheckBoxList等。對於ASP.NET
Time of Update: 2017-02-28
當我們調用HtmlHelper或者HtmlHelper<TModel>的模板方法對整個Model或者Model的某個資料成員以某種模式(顯示模式或者編輯模式)進行呈現的時候,通過預先建立的代表Model中繼資料的ModelMetadata對象都可以找到相應的模板。如果模板對應著某個自訂的分部View,那麼只需要執行該View即可;對於預設範本,則直接可以得到相應的HTML。本篇文章著重討論模板的擷取和執行機制,不過在這之前,順便來討論一下DataTypeAttribute和模板的關係
Time of Update: 2017-02-28
通過ModelMetadata表示的Model中繼資料的一個主要的作用在於為定義在HtmlHelper和HtmlHelper<TModel>中的模板方法(這些模板方法包括Display/DisplayFor、Editor/EditorFor、DisplayForModel/EditForModel、Lable/LabelFor和DisplayText/DisplayTextFor等)提供用於最終產生HTML的中繼資料資訊。在調用這些方法的時候,如果我們指定了一個具體的通過分部View
Time of Update: 2017-02-28
在介紹用於自訂Model中繼資料屬性的AdditionalMetadataAttribute特性時我們提到了它實現的介面IMedataAware,我們說這是一個非常重要並且有用的介面,通過自訂實現該介面的特性我們可以對最終產生的Model中繼資料進行自由地定製。如下面的代碼片斷所示,IMedataAware介面具有唯一的方法成員OnMetadataCreated。當Model中繼資料被建立出來後,會先擷取上述的這一系列標註特性對其進行初始化,然後擷取應用在目標元素上所有實現了IMedataAwa
Time of Update: 2017-02-28
在《上篇》我們已經提到過了,Model中繼資料的定製是通過在作為Model的資料類型極其屬性成員上應用相應的特性來實現,這些用於聲明式中繼資料定義的特性大都定義在System.ComponentModel.DataAnnotations.dll程式集中,程式集的名稱同時也是對應的命名空間名稱,所以我們可以它們為資料註解特性(Data Annotation
Time of Update: 2017-02-28
Contronoller啟用之後,ASP.NET MVC會根據當前請求上下文得到目標Action的名稱,然後解析出對應的方法並執行之。在整個Action方法的執行過程中,Model中繼資料的解析是一個非常重要的環節。ASP.NET MVC中的Model實際上View
Time of Update: 2017-02-28
[上篇]除了通過自訂ControllerFactory的方式引入IoC之外,在使用預設DefaultControllerFactory情況下也可以通過一些擴充使基於IoC的Controller啟用成為可能。主要的方式就是自訂ControllerActivator和 DependencyResolver。四、ControllerActivator V.S.
Time of Update: 2017-02-28
所謂控制反轉(IoC: Inversion Of Control)簡單地說就是應用本身不負責依賴對象的建立和維護,而交給一個外部容器來負責。這樣控制權就由應用轉移到了外部IoC容器,控制權就實現了所謂的反轉。比如在類型A中需要使用類型B的執行個體,而B執行個體的建立並不由A來負責,而是通過外部容器來建立。通過IoC的方式是實現針對目標Controller的啟用具有重要的意義。一、從Unity來認識IoC有時我們又將IoC稱為依賴注入(DI: Dependency
Time of Update: 2017-02-28
我們將整個ASP.NET MVC架構劃分為若干個子系統,那麼針對請求上下文啟用目標Controller對象的子系統被我們成為Controller啟用系統。在正式討論Controller對象具體是如何被建立愛之前,我們先來看看Controller啟用系統在ASP.NET
Time of Update: 2017-02-28
對於一個需要支援多語言的Web應用,一個很常見的使用方式就是通過請求地址來控制介面呈現所基於的語言文化,比如我們在表示請求地址的URL中將上語言文化代碼(比如en或者en-US)來指導伺服器應該採用怎樣的語言來顯示介面的內容。對於一個ASP.NET MVC應用來說,我們很容易通過URL路由來實現這樣一個功能。在具體介紹實現之前,我們通過一個簡單的例子談談最終實現的效果。在通過ASP.NET
Time of Update: 2017-02-28
ASP.NET 路由系統通過註冊的路由表旨在實現兩個“方向”的路有功能,即針對入棧請求的路由和出棧URL的產生。前者通過調用代表全域路由表的RouteCollection對象的GetRouteData方法實現,後者則依賴於RouteCollection的GetVirtualPathData方法,而最終還是落在繼承自RouteBase的路由對象的同名方法的調用上。為了編程的方面,ASP.NET