一:ASP.NET 2.0 是什麼,二:ASP.NET 的版本歷史,三: 與ASP.NET 2.0 類似的技術,四:ASP.NET2.0 相關的微軟WEB開發技術,五:ASP.NET 2.0 相關的開發工具,六:ASP.NET2.0 項目的組成及示例代碼,其他信息,七:ASP.NET 2.0相關學習書籍及WEB資源,八: 其它更多相關介紹,開發人員的工作效率,行政和管理,性能和可擴展性,
一:ASP.NET 2.0 是什麼
類似於PHP,JSP技術。ASP.NET 2.0版本發布於2005年12月7日。截止今天(2012/04/14),ASP.NET的最新版本為ASP.NET 4.5。
二:ASP.NET 的版本歷史
說到ASP.NET 的版本,不得不一起說.NET框架的版本:
時間 .NET 版本 ASP.NET 版本
2002-02-13 1.0 1.0
2003-04-24 1.1 1.1
2005-11-07 2.0 2.0
2006-11-06 3.0 3.0
2007-11-19 3.5 3.5
2010-04-12 4.0 4.0
三: 與ASP.NET 2.0 類似的技術
ASP.NET做為一門動態WEB開發技術,與之類似的技術有:PHP,JSP(Java Server Page),當然還有ASP.NET的前輩:
ASP。
四:ASP.NET2.0 相關的微軟WEB開發技術
要使用ASP.NET 2.0 進行WEB開發,需要涉及到的相關技術主要有:
IIS (Internet Information Service) :它做為伺服器端請求提供程式,B/S架構的S端。
一門
程式語言,可以是C#,
VB.NET,C++.NET,或者其它可以運行於.NET框架上的任何語言,甚至可以是相應的COBOL,PYTHON。
基本的HTML,JavaScript,DIV+CSS 當然也是必不可少的。
如果需要,可能會涉及到XML。另外還有這幾年流行起來的Ajax技術(提供異步請求服務功能)。
另外,一般需要DB來提供
後台數據存儲服務,常用的有SQL SERVER,MY SQL ,ORACLE等。
五:ASP.NET 2.0 相關的開發工具
使用ASP.NET 2.0進行開發,最常用的,也是最方便的,最重要的工具,莫過於
微軟自身提供的Visual Studio 了,最新版本為Visual Studio 2010,但是2008及2005版本仍然有很多公司及開發人員在使用。使用這種IDE的最大好處就是方便,大大的提高了生產效率。當然僅僅使用NOTE PAD也可以編出像樣的東西來,但是應該沒有開發人員使用那種簡單低效的方法進行開發。
另外,.NET 反編譯工具 Reflector。可以將.NET 程式集反編譯為
原始碼。
相關的
版本控制工具: SVN, VSS , CVS 等。
六:ASP.NET2.0 項目的組成及示例代碼
一個典型的ASP.NET2.0 WEB項目一般包括以下組成部分:
1:代碼(以C#語言開發為例)
ASPX檔案,是ASP.NET項目中的最常見的部分,它提供了WEB頁面的布局控制方式。每一個ASPX檔案一般通過代碼分離技術,還跟一個ASPX.CS檔案緊密相關,這就涉及到.NET2.0的PARTUAL CLASS功能。就是說一個類,可以分別定義在多個不同的檔案中。以ASP.NET中的套用來看,這樣提供了頁面控制項聲明部分和
後台處理部分代碼的分離,結構更加清晰,易於維護。
ASCX檔案,是ASP.NET項目中的
用戶控制項定義檔案。由ASP.NET提供的常規控制項往往不能滿足不同WEB項目的特定需要,我們經常需要個性化的控制項樣式,控制項功能,或者控制項捆綁復用。所以,開發自定義的
用戶控制項是ASP.NET開發中的一項常見任務。同樣,跟ASPX的頁面分離技術一樣,自定義的
用戶控制項,也可以把與控制項相關的屬性定義,自定義方法分離到一個ASCX.CS檔案中去。
ASAX檔案,在ASP.NET的WEB請求處理流程中,有一些需要在每個請求中都進行處理的公共全局事件。一般會需要一個Global.Asax檔案,模板示例如下,通過填充各個函式,可以進行各種全局處理。
其他信息
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.SessionState;
using System.Xml.Linq;
namespace MyWebProject
{
public class Global : System.Web.HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
}
protected void Session_Start(object sender, EventArgs e)
{
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
}
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
}
protected void Application_Error(object sender, EventArgs e)
{
}
protected void Session_End(object sender, EventArgs e)
{
}
protected void Application_End(object sender, EventArgs e)
{
}
}
}
ASHX 檔案,當需要對WEB 請求處理流中的事件進行更加定製化的處理的時候,就需要處理HttpHandler相關的事件,這時候,需要生成 ASHX類型的檔案。
ASMX檔案,當需要進行WEB SERVICE相關的開發時,會使用到ASMX檔案。
MASTER檔案,模板檔案,在一個項目中,你可能需要某一類頁面具有一個相同的模板框架,然後不同頁面填充不同的具體內容,這時候,就可以先定義模板檔案,然後在各個頁面中引用這個模板檔案,可以減少重複開發。並且方便改變維護。示例如下:
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="MyWebProject.Site" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<link id="Link1" type="text/css" rel="Stylesheet" href="css/General.css" />
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div id="MainContainer" >
<div id="Header">
<div id="LogoText">歡迎光臨科學量子書店</div>
</div>
<br />
<div id="Caption">
<div id="HLink1">
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="Novel.aspx">小說</asp:HyperLink>
</div>
<div id="HLink2">
<asp:HyperLink ID="HyperLink4" runat="server" NavigateUrl="Poem.aspx">詩歌</asp:HyperLink>
</div>
<div id="HLink3">
<asp:HyperLink ID="HyperLink5" runat="server" NavigateUrl="Computer.aspx">計算機</asp:HyperLink>
</div>
<div id="HLink4">
<asp:HyperLink ID="HyperLink8" runat="server" NavigateUrl="MovieMusic.aspx">影音</asp:HyperLink>
</div>
</div>
<br />
<asp:ContentPlaceHolder ID="Main" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
相關的
資源檔案,常見的便是圖片檔案,可以直接放在項目檔案下面,然後在頁面中引用
3:配置檔案
七:ASP.NET 2.0相關學習書籍及WEB資源
新手進行ASP.NET的學習,推薦書籍為:
ASP.NET 基礎教程(Essential ASP.NET with Examples in C#) Fritz Onion著,
清華大學出版社八: 其它更多相關介紹
ASP.NET is a programming framework built on the common language runtime that can be used on a server to build powerful Web applications. The first version of ASP.NET offered several important advantages over previous Web development models. ASP.NET 2.0 improves upon that foundation by adding support for several new and exciting features in the areas of developer productivity, administration and management, extensibility, and performance:
Developer Productivity
ASP.NET 2.0 encapsulates common Web tasks into application services and controls that can be easily reused across web sites. With these basic building blocks, many scenarios can now be implemented with far less custom code than was required in previous versions. With ASP.NET 2.0 it is possible to significantly reduce the amount of code and concepts necessary to build common scenarios on the web.
New Server Controls. ASP.NET 2.0 introduces many new server controls that enable powerful declarative support for data access, login security, wizard navigation, menus, treeviews, portals, and more. Many of these controls take advantage of core application services in ASP.NET for scenarios like data access, membership and roles, and personalization. Some of the new families of controls in ASP.NET 2.0 are described below.
Data Controls. Data access in ASP.NET 2.0 can be accomplished completely declaratively (no code) using the new data-bound and data source controls. There are new data source controls to represent different data backends such as SQL database, business objects, and XML, and there are new data-bound controls for rendering common UI for data, such as
gridview, detailsview, and formview..
Navigation Controls. The navigation controls provide common UI for navigating between pages in your site, such as treeview, menu, and sitemappath. These controls use the site navigation service in ASP.NET 2.0 to retrieve the custom structure you have defined for your site.
Login Controls. The new login controls provide the building blocks to add authentication and authorization-based UI to your site, such as login forms, create user forms, password retrieval, and custom UI for logged in users or roles. These controls use the built-in membership and role services in ASP.NET 2.0 to interact with the user and role information defined for your site.
Web Part Controls. Web parts are an exciting new family of controls that enable you to add rich, personalized content and layout to your site, as well as the ability to edit that content and layout directly from your application pages. These controls rely on the personalization services in ASP.NET 2.0 to provide a unique experience for each user in your application.
Master Pages. This feature provides the ability to define common structure and interface elements for your site, such as a page header, footer, or navigation bar, in a common location called a "master page", to be shared by many pages in your site. In one simple place you can control the look, feel, and much of functionality for an entire Web site. This improves the maintainability of your site and avoids unnecessary duplication of code for shared site structure or behavior.
Themes and Skins. The themes and skins features in ASP.NET 2.0 allow for easy customization of your site's look-and-feel. You can define style information in a common location called a "theme", and apply that style information globally to pages or controls in your site. Like Master Pages, this improves the maintainability of your site and avoid unnecessary duplication of code for shared styles.
Personalization. Using the new personalization services in ASP.NET 2.0 you can easily create customized experiences within Web applications. The Profile object enables developers to easily build strongly-typed, sticky data stores for user accounts and build highly customized, relationship based experiences. At the same time, a developer can leverage Web Parts and the personalization service to enable Web site visitors to completely control the layout and behavior of the site, with the knowledge that the site is completely customized for them. Personalizaton scenarios are now easier to build than ever before and require significantly less code and effort to implement.
Localization. Enabling
globalization and localization in Web sites today is difficult, requiring large amounts of custom code and resources. ASP.NET 2.0 and Visual Studio 2005 provide tools and infrastructure to easily build Localizable sites including the ability to auto-detect incoming locale's and display the appropriate locale based UI. Visual Studio 2005 includes built-in tools to dynamically generate resource files and localization references. Together, building localized applications becomes a simple and integrated part of the development experience.
Administration and Management
ASP.NET 2.0 is designed with administration and manageability in mind. We recognize that while simplifying the development experience is important, deployment and maintenance in a production environment is also a key component of an application's lifetime. ASP.NET 2.0 introduces several new features that further enhance the deployment, management, and operations of ASP.NET servers.
Configuration API. ASP.NET 2.0 contains new configuration management APIs, enabling users to programmatically build programs or scripts that create, read, and update Web.config and machine.config configuration files.
ASP.NET MMC Admin Tool. ASP.NET 2.0 provides a new comprehensive admin tool that plugs into the existing IIS Administration MMC, enabling an administrator to graphically read or change common settings within our XML configuration files.
Pre-compilation Tool. ASP.NET 2.0 delivers a new application deployment utility that enables both developers and administrators to precompile a dynamic ASP.NET application prior to deployment. This precompilation automatically identifies any compilation issues anywhere within the site, as well as enables ASP.NET applications to be deployed without any source being stored on the server (one can optionally remove the content of .
aspx files as part of the compile phase), further protecting your intellectual property.
Health Monitoring and Tracing. ASP.NET 2.0 also provides new health-monitoring support to enable administrators to be automatically notified when an application on a server starts to experience problems. New tracing features will enable administrators to capture run-time and request data from a production server to better diagnose issues. ASP.NET 2.0 is delivering features that will enable developers and administrators to simplify the day-to-day management and maintenance of their Web applications.
ASP.NET 2.0 is a well-factored and open system, where any component can be easily replaced with a custom implementation. Whether it is server controls, page handlers, compilation, or core application services, you'll find that all are easily customizable and replaceable to tailor to your needs. Developers can plug in custom code anywhere in the page lifecycle to further customize ASP.NET 2.0 to their needs.
Provider-driven Application Services. ASP.NET 2.0 now includes built-in support for membership (user name/password credential storage) and role management services out of the box. The new personalization service enables quick storage/retrieval of user settings and preferences, facilitating rich customization with minimal code. The new site navigation system enables developers to quickly build link structures consistently across a site. As all of these services are provider-driven, they can be easily swapped out and replaced with your own custom implementation. With this extensibility option, you have complete control over the data store and schema that drives these rich application services.
Server Control
Extensibility. ASP.NET 2.0 includes improved support for control extensibility, such as more base classes that encapsulate common behaviors, improved designer support, more APIs for interacting with client-side script, metadata-driven support for new features like themes and accessibility verification, better state management, and more.
Data Source Controls. Data access in ASP.NET 2.0 is now performed declaratively using data source controls on a page. In this model, support for new data backend storage providers can be easily added by implementing custom data source controls. Additionally, the SqlDataSource control that ships in the box has built-in support for any
ADO.NET managed provider that implements the new provider factory model in ADO.NET.
Compilation Build Providers. Dynamic compilation in ASP.NET 2.0 is now handled by extensible compilation build providers, which associate a particular file extension with a handler that knows how to compile that extension dynamically at runtime. For example, .
resx files can be dynamically compiled to resources, .wsdl files to web service proxies, and .xsd files to typed DataSet objects. In addition to the built-in support, it is easy to add support for additional extensions by implementing a custom build provider and registering it in Web.config.
Expression Builders. ASP.NET 2.0 introduces a declarative new syntax for referencing code to substitute values into the page, called Expression Builders. ASP.NET 2.0 includes expression builders for referencing string resources for localization, connection strings, application settings, and profile values. You can also write your own expression builders to create your own custom syntax to substitute values in a page rendering.
Performance and Scalability
ASP.NET is built to perform, using a compiled execution model for handling page requests and running on the world's fastest web server, Internet Information Services. ASP.NET 2.0 also introduces key performance benefits over previous versions.
64-Bit Support. ASP.NET 2.0 is now 64-bit enabled, meaning it can take advantage of the full memory address space of new 64-bit processors and servers. Developers can simply copy existing 32-bit ASP.NET applications onto a 64-bit ASP.NET 2.0 server and have them automatically be JIT compiled and executed as native 64-bit applications (no source code changes or manual re-compile are required).
Caching Improvements. ASP.NET 2.0 also now includes automatic database server cache invalidation. This powerful and easy-to-use feature allows developers to aggressively output cache database-driven page and partial page content within a site and have ASP.NET automatically invalidate these cache entries and refresh the content whenever the back-end database changes. Developers can now safely cache time-critical content for long periods without worrying about serving visitors stale data.
The remainder of the QuickStart presents practical examples of these and other features in ASP.NET.
asp.net是一個編程框架,建立在
公共語言運行庫,可用於在伺服器上建立強大的Web套用程式。第一版本的
asp.net提供了幾個重要的優勢超過以往的Web的發展模式。
asp.net 2.0好轉後,在這個基礎上加入支持一些新的和令人振奮的功能在以下領域的開發人員的工作效率,行政和管理,可擴展性,和業績:
開發人員的工作效率
asp.net 2.0封裝共同Web任務到套用服務和管制,可以很容易重複使用跨網站。與這些基本積木,很多情況下,現在可以實施,遠不及自定義代碼,比需要在先前的版本。與
asp.net 2.0是有可能顯著減少的金額代碼和概念,必須建立共同的情況在網站上。
新的伺服器控制項。
asp.net 2.0引入了許多新的伺服器控制項,使強大的宣示支持數據訪問,登錄安全,嚮導導航,選單, treeviews ,入口網站,和更多。許多這些控制利用為核心的套用服務在
asp.net為情景一樣,數據訪問,成員和角色,和個性化。一些新的家庭控制在
asp.net 2.0詳述如下。
數據控制。數據訪問,在
asp.net 2.0能夠做到完全以聲明(沒有code )使用新的
數據綁定和
數據源的控制。有新的數據源管制,以代表不同的數據,後端,如SQL資料庫的企業, Business Objects ,和XML ,並有新的
數據綁定控制項的繪製共同的用戶界面的數據,如
gridview , detailsview , formview ..
導航控制項。導航控制項提供了共同的用戶界面瀏覽頁之間,在您的網站,如樹視圖,選單,並sitemappath 。這些管制使用本網站的導航服務,在
asp.net 2.0 ,以擷取自訂的結構您已定義為您的網站。
登錄管制。新的登錄控制項提供積木添加認證和授權為基礎的用戶界面到您的網站,如登錄形式,創建用戶的形式,密碼檢索,自定義用戶界面,為記錄在用戶或角色。這些管制使用內置的成員和作用,服務在
asp.net 2.0互動,與用戶和作用,信息的定義為您的網站。
Web部件控制。 Web部件是一個令人振奮的新家庭的管制,使您可以添加豐富的,個性化的內容和布局到您的網站,以及有能力編輯的內容和布局,直接從您的
應用程式的頁面。這些管制依賴於個性化服務在
asp.net 2.0提供了一個獨特的經驗,為每個用戶在您的申請。
母版頁。此功能可提供的能力,以確定共同的結構和界面元素為您的網站,如網頁
頁眉,
頁腳,導航或酒吧,在一個共同的位置,稱為“主頁” ,共享很多的頁面在您的網站。在一個簡單的地方,你可以控制一看,覺得,很多的功能,為整個網站。這提高了可維護性您的網站,並避免不必要的重複代碼共享網站結構或行為。
主題和外觀。主題和外觀特徵,在
asp.net 2.0允許輕鬆定製您的網站的外觀和感覺。您可以定義樣式信息在一個共同的位置,所謂的“主題” ,並套用樣式信息在全球範圍內的頁面或控制在您的網站。想掌握的頁面,這提高了可維護性您的網站,並避免不必要的重複代碼共享的作風。
個性化。使用新的個性化服務在
asp.net 2.0 ,您可以輕鬆創建自定義經驗的Web套用程式。配置檔案對象使開發人員能夠輕鬆地幫助客戶建立起強烈型,棘手的
數據存儲為
用戶帳戶和建設高度定製的,基礎的關係的經驗。在同一時間內,開發商可以利用Web部件和個性化服務,使網站訪問者,以完全控制的布局和行為的網站,與知識,該網站完全是為他們定製。 personalizaton情景,現在更容易建立比以往任何時候都需要顯著較少的代碼,並努力實施。
本地化。使全球化與本土化在網站今天是困難的,需要大量的自定義代碼和資源。 asp.net 2.0和Visual Studio 2005提供的工具和基礎設施,很容易建立本地化的網站,包括能力,自動偵測來襲的區域設定的,並顯示適當的區域為基礎的用戶界面。 Visual Studio 2005中包括內建了一些工具來動態生成
資源檔案和本地化的參考。兩者合計,建設本地化的套用,成為一個簡單的和綜合發展計畫的一部分經驗。
行政和管理
asp.net 2.0是設計與管理性和可管理性,在銘記。我們認識到,同時簡化的發展經驗是很重要的,部署和維護在生產環境中,也是一個關鍵組成部分,一個
應用程式的壽命。 asp.net 2.0介紹了幾種新功能,進一步加強部署,管理和運作asp.net伺服器。
配置的
空氣污染指數。 asp.net 2.0中包含新的
配置管理API ,使用戶以編程方式建立的程式或
腳本創建,讀取和更新的Web.config和machine.config中配置檔案。
前彙編工具。
asp.net 2.0提供了一個新的
應用程式部署實用工具,使雙方開發人員和
管理員,以precompile一個動態的asp.net套用在部署之前。這precompilation自動識別任何彙編的問題,任何地方的網站,以及使asp.net
應用程式將要部署沒有任何來源的被
存儲在伺服器上(一可以選擇性地刪除的內容的。
aspx檔案的一部分,該編譯階段) ,進一步保護您的智慧財產權。
健康監測和追蹤。 asp.net 2.0也提供了新的健康監測的支持,以使
管理員能夠自動通知申請時,在伺服器上開始遇到問題。新的追蹤功能,將讓管理者能捕獲的運行時間和請求,將數據從
生產伺服器,以更好地診斷問題。 asp.net 2.0提供的功能,這將使開發人員和
管理員,以簡化的日常管理及維修他們的Web
應用程式。
靈活的可擴展性
asp.net 2.0是一個良好的因素和公開的制度,任何組件可以很容易地取代自訂的執行情況。無論是伺服器控制項,頁處理,彙編,或為核心的套用服務,您會發現,都是很容易定製和更換,以度身訂造的,以您的需求。開發人員可以堵塞在自定義代碼的任何地方網頁的生命周期,以進一步自定義
asp.net 2.0到他們的需要。
供應商驅動的套用服務。 asp.net 2.0 ,現在包括內置支持,會員資格(用戶名/密碼認證存儲)和管理服務的作用,走出方塊。新的個性化服務可以快速存儲/檢索用戶設定和偏好,促進豐富的個性化與最小的代碼。新的網站導航系統使開發人員能夠快速的建立連結的結構,始終跨越的網站。所有這些服務供應商為主導,他們可以很容易地換出,並代之以自己的自定義的執行情況。與此擴展選項,您有完整的控制權數據存儲和架構的驅動器,這些豐富的套用服務。
伺服器控制項可擴展性。 asp.net 2.0包括改進的支持,控制可擴展性,如更多的基地班概括的共同行為,提高
設計師的支持,更多的
空氣污染指數為互動與
客戶端腳本,元數據驅動的支持,新功能,如主題和無障礙的核查,更好的國家管理,以及更多。
數據源的控制。數據訪問,在
asp.net 2.0是現在的表現以聲明使用的
數據源控制在一個網頁上。在此模型中,支持新的數據後端
存儲供應商可以很容易地說,通過實施自定義
數據源的控制。此外, sqldatasource控制,船舶在方塊中已內置支持,任何
ado.net託管提供實現新的供應商工廠模型在ado.net 。
彙編,建立供應商。
動態編譯在asp.net 2.0是現在所處理的可擴展的彙編,建立供應商,其中協理特定
檔案擴展名與處理程式知道如何彙編這種擴展動態在運行時。舉例來說, 。
resx檔案可以被
動態編譯的資源, 。 WSDL檔案,以Web Service的代理,和。為xsd檔案類型化的DataSet對象。在除了內建的支持,很容易添加額外的支持,擴展實施自訂的建立供應商和登記,它在Web.config中。
表達的建設者。 asp.net 2.0介紹了一種宣示性的新的語法參照代碼來替代價值觀融入網頁,所謂表達的建設者。 asp.net 2.0包括表達的建設者為參照字元串資源的本地化,連線字元串,
應用程式設定和個人的價值觀。您也可以自己寫表達的建設者,以創建自己的自定義語法來替代的價值在一個網頁渲染。
性能和可擴展性
asp.net是建立在執行,使用
編譯執行模型,為處理頁的要求和運行於世界上速度最快的
網路伺服器, Internet信息服務。 asp.net 2.0還介紹了關鍵的性能優勢,超過先前的版本。
64位支持。 asp.net 2.0是現在的64位啟用,這意味著它可以充分利用記憶體地址空間的新的
64位處理器和伺服器。開發人員可以簡單地複製現有的32位
asp.net套用到一個64位asp.net 2.0伺服器和他們自動JIT的編制和執行,作為本土的64位元套用程式(沒有
原始碼的變化,或手動重新編譯所需的) 。
快取的改善。 asp.net 2.0現在還包括自動
資料庫伺服器快取失效。這個強大的和易於使用的功能,使開發人員能夠積極輸出快取資料庫驅動的網頁和部分網頁內容的網站,並已
asp.net自動失效,這些快取項,並刷新內容時,後端資料庫的變化。
發展商現在可以安全地快取時間的關鍵內容長時間,無需擔心服務旅客陳舊的數據。