Time of Update: 2017-02-27
一.什麼是應用程式設定應用程式設定通常是指與應用程式密切相關的一系列參數。在基於表單的Windows應用程式中,應用程式設定主要包括影響應用程式布局的位置.尺寸等參數;影響應用程式外觀的顏色.形狀等參數;此外,還包括應用程式的語言.文化等設定以及資料來源和連接字串等等。這些參數設定在程式開發中應用廣泛,有的被用來保持應用程式的一致性.連續性,比如儲存應用程式結束時的表單大小.位置及背景顏色,下次執行應用程式時恢複這些設定;另一些參數則使程式碼更加簡潔高效,比如儲存資料庫連接字串供多次調用。與基於
Time of Update: 2017-02-27
介紹可能有很多的時候,我們急需把圖片存入到資料庫當中。在一些應用程式中,我們可能有一些敏感的資料,由於儲存在檔案系統(file
Time of Update: 2017-02-27
為了更好的建立互動式Web應用程式,加強應用程式安全性(例如,防止指令碼入侵等),開發人員應該對使用者輸入的部分提供驗證功能。過去,輸入驗證功能基本由自行編寫的用戶端指令碼來完成這種實現方法既繁瑣,又容易出現錯誤。隨著技術的發展,ASP.NET技術通過提供一系列驗證控制項來克服這些缺點,例如,RequiredFieldValidator、CompareValidator、RangeValidator等。使用這些驗證控制項,開發人員可以向Web頁面添加輸入驗證功能,例如定義驗證規則、定義向使用者顯
Time of Update: 2017-02-27
為了設定複合控制項的外觀,複合控制項必須提供一些樣式屬性,尤其是針對子控制項的樣式屬性。在本文中,我們將重點介紹為複合控制項實現樣式屬性的兩種方法。1、上傳部分樣式屬性在為複合控制項實現樣式屬性之前,讀者應首先瞭解"樣式冒泡"的基本概念。樣式冒泡多用於實現複合控制項的樣式屬性。由於在複合控制項中包含多個子控制項,因此,這些子控制項的樣式屬性可能在一定情況下,幹擾複合控制項的樣式屬性,引起樣式屬性混亂。為了更加明確的定義複合控制項的樣式屬性,可以採取將子控制項的樣式屬性上傳為頂
Time of Update: 2017-02-27
在《基於IIS的WCF服務寄宿(Hosting)實現揭秘》中,我們談到在採用基於IIS(或者說基於ASP.NET)的WCF服務寄宿中,具有兩種截然不同的運行模式:ASP.NET並行(Side by
Time of Update: 2017-02-27
細算起來,已經有好幾個月沒有真正的寫過文章了。近半年以來,一直忙於我的第一本WCF專著《WCF技術剖析》的寫作,一直無暇管理自己的Blog。到目前為止《WCF技術剖析(卷1)》的寫作暫告一段落,初步預計於下個月由武漢博文視點出版。在《WCF技術剖析》寫作期間,對WCF又有了新的感悟,為此以書名開始本人的第三個WCF系列。本系列的目的在於對《WCF技術剖析》的補充,會對書中的一些內容進行展開講述,同時會囊括很多由於篇幅的原因忍痛割棄的內容。本系列的第一篇,我將會對WCF的基本架構作一個大致的講解。
Time of Update: 2017-02-27
到今天,這個系列的文章就要先告一段落了。其中我用了10篇文章也沒有窮盡該項目的設計思想,只 能從中撿了一些我感興趣的東西進行了分析和說明,正所謂興趣是最大的動力。當然限於本人水平有限 ,難免有一些認識上的錯誤,也希望大家在回複中與我進行交流。下面把一些還未窮盡的內容做一下羅列,以備感興趣的朋友繼續品味。1.項目中使用了“Rhino.Mocks”,有對單元測試和這個項目感興趣的朋友可以通過測試
Time of Update: 2017-02-27
使用強型別的ViewData好處有許多,比如說在IDE中就會有更好的支援,比如代碼提示。同時在View 與Controller之間有更嚴謹的“約定”。在Suteki.Shop項目中作者對強型別的ViewPage引入 是通過MvcContrib實現的,下面就是其ViewPage<T>代碼(Suteki.Shop\Views\ViewPage.cs):public class ViewPage<T> :
Time of Update: 2017-02-27
在Suteki.Shop中內建了提供了基於NHibernate方式的ORM功能,只不過就目前的項目進度還未全部完 成其設計時的構想,另外在單元測試上也沒有完整的測試。不過其設計思路還是很有意思的。就 其將NHibernate引入到項目中的實現方式而言,與Rhino.Commons中所提倡的方式如出一轍,那就是基於 IRepository模式。關於IRepository這個介面的定義在之前的這篇文章中已提到並做了相應說明,所以
Time of Update: 2017-02-27
在Suteki.Shop中Model的原型是基於Linq to SQL建立的,其dbml檔案位於Suteki.Shop\Shop.dbml。 而Suteki.Shop在此檔案的基本上,以"partial class "的方式在Suteki.Shop\Model檔案夾下 建立了相應的類檔案以擴充Shop.dbml中Model類的一些方法和屬性聲明,如下圖:為了便於 大家理解,下面以Model中的Product.cs為例進行說明。Product是對網站中所銷售商品的資料信 息類。
Time of Update: 2017-02-27
在Suteki.Shop中,作者構造了一個ModelBinder基類“DataBinder”,其本身繼承自 IModelBinder介面,並以此其類派生出其它一些子類類如ProductBinder等等。可以說除了極個別的地方 之外,DataBinder被用於了Suteki.Shop大多數的ModelBinder綁定情境之路。首先看一下其類圖 結構:作為基類, DataBinder(圖中左下方)實現了將HTTP請求過來的資料轉換成為模型中相應的類型。其核心方法就是
Time of Update: 2017-02-27
在Suteki.Shop中對於Filter的使用上提供了兩種方式,一種是從FilterAttribute(抽象類別屬性)以及 介面 IActionFilter和 IResultFilter中繼承並實現。另一種是我們經常提到的從 ActionFilterAttribute 上繼承方式來實現自己的ActionFilter。首先看一下第一種,同時它也是該項 目中被Action廣泛使用的方式, 下面是類圖:當然圖中最核心的 當屬FilterUsingAttribute,它同時繼承了
Time of Update: 2017-02-27
在上文中,介紹了如何安裝和使用Suteki,今天我們通過源碼來看一下Suteki是如何使用Controller 。在Suteki中,其使用Abstract的方式來定義一個ControllerBase,以此作為所有Controller的 基類,下面是其Controller的類設計圖:在該基類中定義了一些Controller中常用到的方法,比如為當前視圖添加MetaDescription,Title等 :[Rescue("Default"), Authenticate,
Time of Update: 2017-02-27
這篇文章不能算是Enterprise Library 2.0的一個技巧,只是Logging Application Block的一個簡單應用而已,在這裡我們使用Logging Application Block來記錄一個ASP.NET
Time of Update: 2017-02-27
在ASP.net MVC的一個開源項目MvcContrib中,為我們提供了幾個視圖引擎,例如NVelocity, Brail, NHaml, XSLT。那麼如果我們想在ASP.NET MVC中實現我們自己的一個視圖引擎,我們應該要怎麼做呢?我們知道呈現視圖是在Controller中通過傳遞視圖名和資料到RenderView()方法來實現的。好,我們就從這裡下手。我們查看一下ASP.NET MVC的原始碼,看看RenderView()這個方法是如何?的:protected virtual
Time of Update: 2017-02-27
原本的Url.Action方法是利用RouteCollection來實現Url的Routing的。所以這裡用一個擴充方法重現一下using System.Web.Routing;static public class CUrl { public static string Action(this Controller c, string controller, string action) { RouteValueDictionary rvd = new
Time of Update: 2017-02-27
為了讓大家更深入的瞭解和使用C#,我們將開始這一系列的主題為“C#發現之旅 ”的技術講座。考慮到各位大多是進行WEB資料庫開發的,而所謂發現就是發現我們所 不熟悉的領域,因此本系列講座內容將是C#在WEB資料庫開發以外的應用。目前規劃的主要內 容是圖形開發和XML開發,並計劃編排了多個課程。在未來的C#發現之旅中,我們按照由淺入 深,循序漸進的步驟,一起探索和發現C#的其他未知的領域,更深入的理解和掌握使用C#進
Time of Update: 2017-02-27
方法體using System;using System.Xml;using System.Configuration;using System.Web;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;namespace XMLSize{ public struct strRestric { public string msgPage; public string
Time of Update: 2017-02-27
主版頁面(Master)1.主版頁面是與Controller無關的,主版頁面只是一個View檔案,而沒有任 何Controller與之相對應。2.其實在ASP.NET MVC中View的aspx與主版頁面並不像WebForm中 那樣緊密關聯。例如我想更換一個aspx的主版頁面,只要在Action中return 時指定所要使用 的Master即可:如圖我有2個
Time of Update: 2017-02-27
一個簡單的電子商務店面應用我將使用一個簡單的電子商務商店應用來示範ASP.NET MVC架構的工作原理。在今天的貼子裡,我將實現一個產品列單,以及相關的瀏覽應 用情境。具體來說,我們將建造一個網上商店,允許使用者在訪問該網站上的/Products/Categories網址時 瀏覽產品分類列表:當使用者點擊上面網頁上的產品分類連結時,他們將轉到一個產品分類列表URL /Products/List/CategoryName上,該頁面列出了指定分類中