天天看點

asp.net

什麼是 ASP?

  ASP 是一種使嵌入網頁中的腳本可由網際網路伺服器執行的伺服器端腳本技術。

  ASP 是一項微軟公司的技術

  ASP 指 Active Server Pages(動态伺服器頁面)

  ASP 是運作于 IIS 之中的程式

  IIS 指 Internet Information Services(網際網路資訊服務)

  IIS 是 Windows 2000 捆綁的免費元件

  IIS同時也是 Windows NT 4.0 的可選元件

  此可選元件可通過網際網路下載下傳

  PWS 的體積更小 - 不過擁有 IIS 的完整功能

  PWS 可在 Windows 95/98 的安裝 CD 中找到

  ASP.net不僅僅是 Active Server Page (ASP) 的下一個版本,而且是一種建立在通用語言上的程式構架,能被用于一台Web伺服器來建立強大的Web應用程式。ASP.net提供許多比現在的Web開發模式強大的優勢。

  ASP.net是把基于通用語言的程式在伺服器上運作。不像以前的ASP即時解釋程式,而是将程式在伺服器端首次運作時進行編譯,這樣的執行效果,當然比一條一條的解釋強很多。

  ASP.net構架是可以用Microsoft(R)公司最新的産品 Visual Studio.net開發環境進行開發,WYSIWYG(What You See Is What You Get所見即為所得)的編輯。這些僅是ASP.net強大化軟體支援的一小部分。

  因為ASP.net是基于通用語言的編譯運作的程式,是以它的強大性和适應性,可以使它運作在Web應用軟體開發者的幾乎全部的平台上(筆者到現在為止隻知道它隻能用在Windows 2000 Server上)。通用語言的基本庫,消息機制,資料接口的處理都能無縫的整合到ASP.net的Web應用中。ASP.net同時也是language-independent語言獨立化的,是以,你可以選擇一種最适合你的語言來編寫你的程式,或者把你的程式用很多種語言來寫,現在已經支援的有C#(C++和Java的結合體),VB,Jscript。将來,這樣的多種程式語言協同工作的能力保護您現在的基于COM+開發的程式,能夠完整的移植向ASP.net。

  ASP.NET一般分為兩種開發語言,VB.NET和C#,C#相對比較常用,因為是.NET獨有的語言,VB.NET則為以前VB程式設計,适合于以前VB程式員,如果新接觸.NET,沒有其他開發語言經驗,建議直接學習C#。

  ASP.net使運作一些很平常的任務如表單的送出用戶端的身份驗證、分布系統和網站配置變得非常簡單。例如ASP.net頁面構架允許你建立你自己的使用者分界面,使其不同于常見的VB-Like界面。

  ASP.net使用一種字元基礎的,分級的配置系統,使你伺服器環境和應用程式的設定更加簡單。因為配置資訊都儲存在簡單文本中,新的設定有可能都不需要啟動本地的管理者工具就可以實作。這種被稱為"Zero Local Administration"的哲學觀念使Asp.net的基于應用的開發更加具體,和快捷。一個ASP.net的應用程式在一台伺服器系統的安裝隻需要簡單的拷貝一些必須的檔案,不需要系統的重新啟動,一切就是這麼簡單。多處理器環境的可靠性 ASP.net已經被刻意設計成為一種可以用于多處理器的開發工具,它在多處理器的環境下用特殊的無縫連接配接技術,将很大的提高運作速度。即使你現在的ASP.net應用軟體是為一個處理器開發的,将來多處理器運作時不需要任何改變都能提高他們的效能,但現在的ASP确做不到這一點。自定義性和可擴充性 ASP.net設計時考慮了讓網站開發人員可以在自己的代碼中自己定義"plug-in"的子產品。這與原來的包含關系不同,ASP.net可以加入自己定義的如何元件。網站程式的開發從來沒有這麼簡單過。安全性基于Windows認證技術和每應用程式配置,你可以确性你的原程式時絕對安全的。 ASP.NET 的文法在很大程度上與 ASP 相容,同時它還提供一種新的程式設計模型和結構,可生成伸縮性和穩定性更好的應用程式,并提供更好的安全保護。可以通過在現有 ASP 應用程式中逐漸添加 ASP.NET 功能,随時增強 ASP 應用程式的功能。 ASP.NET 是一個已編譯的、基于 .NET 的環境,把基于通用語言的程式在伺服器上運作。将程式在伺服器端首次運作時進行編譯,比ASP即時解釋程式速度上要快很多.而且是可以用任何與 .NET 相容的語言(包括 Visual Basic .NET、C# 和 JScript .NET.)創作應用程式。另外,任何 ASP.NET 應用程式都可以使用整個 .NET Framework。開發人員可以友善地獲得這些技術的優點,其中包括托管的公共語言運作庫環境、類型安全、繼承等等。 ASP.NET 可以無縫地與 WYSIWYG HTML 編輯器和其他程式設計工具(包括 Microsoft Visual Studio .NET)一起工作。這不僅使得 Web 開發更加友善,而且還能提供這些工具必須提供的所有優點,包括開發人員可以用來将伺服器控件拖放到 Web 頁的 GUI 和完全內建的調試支援。 當建立 ASP.NET 應用程式時,開發人員可以使用 Web 窗體或 XML Web services,或以他們認為合适的任何方式進行組合。每個功能都能得到同一結構的支援,使您能夠使用身份驗證方案,緩存經常使用的資料,或者對應用程式的配置進行自定義. 如果你從來沒有開發過網站程式,那麼這不适合你,你應該至少掌握一些HTML語言和簡單的Web開發術語(不過我相信如果有興趣的話是可以很快的掌握的)。你不需要先前的ASP開發經驗(當然有經驗更好),但是你必須了解互動式Web程式開發的概念,包含窗體,腳本,和資料接口的概念,如果你具備了這些條件的話,那麼你就可以在Asp.net的世界開始展翅高飛了。

  ASP.NET 2.0 快速入門

  ASP.NET 2.0安全系列課程

  ASP.NET 2.0入門與提高系列課程

  ASP.NET 3.5開發系列課程

  ASP.NET AJAX深入淺出系列課程

  ASP.NET MVC架構開發系列課程

  ASP.NET 開發實踐

  ASP.NET 新特性

  “為人寫程式”

  初級的程式員或經驗不足的程式員往往隻意識到自己的程式是寫給計算機的,而不會在意程式其實也是寫給人的,或在意得不夠、不全面。

  寫給機器的程式,往往追求的是運作正确、執行效率能滿足要求。但程式員的任務僅僅就是把業務邏輯轉成機器能編譯的計算機語言嗎?

  其實,程式首先(注意,是首先)是寫給人的。第一,程式是寫給看代碼的人的。第二,程式是寫給用程式的人的。了解這一點,才能了解寫程式為什麼要有代碼規範,為什麼要有各種文檔,為什麼寫子程式時要命好名,為什麼要分層,為什麼要學設計模式,為什麼要寫測試用例,為什麼要推敲按鈕的擺放,為什麼要按XHTML标準寫Web界面,為什麼要用AJAX … …了解了這一點,才能更好的做好上面種種事情。

  誰都在說“細節決定成敗”,誰都知道要注意細節。為什麼大家都在講細節,有的人能通過細節打敗對手,有的人連細節在哪一方都不知道,這就是水準的高低所在。我們要有心理準備:細節不是喊一聲就會出現在你面前的。感覺到細節,這是一個需要不斷學習和實踐,甚至有人指導的過程。這個過程有長有短,要看個人的學習能力,領悟能力。但最起碼,我們首先要有一個方向。找程式的細節,方向就是“為人寫程式”,在你做設計,寫代碼,擺弄界面的時候,心裡時刻記住這一點,幾個項目下來,你自然能看到很多細節了。

  “内外兼修”

  武俠電影裡的高手,往往都是通過奇門心法,内力陡增而成為高手的。但我們做程式的,要成為高手,“内外兼修”才能事半功倍。内,指的是需求把握,設計思想,設計模式等。外,指的是寫代碼時的規範,做界面時的嚴謹等。

  看武俠看多了的我們,偏内輕外的特點是很明顯的。看看書店裡寫設計模式主題的書籍和指導代碼規範的書籍的數量和銷量對比就是一個很好的證明。但是就算設計模式一套一套,但寫的類卻給人看半天也看不出思路的話,一兩年之後,你仍将陷入一個個泥潭中。

  再舉個例子,有的人自稱ASP.NET程式員,而且他寫出來的背景代碼也層次清晰,條理清楚,但是做出來的界面,結構與表現混雜,一大堆IDE自動生成的垃圾代碼充斥其中,該用單選框的用文本框,按鈕放在誰都想不到的地方,不該使用者操作的要使用者操作,一步可操作完的搞成幾步也不能完成操作……很顯然,他不可能做出成功的産品。也許他也知道界面要合理,但是就是因為他不修外功,認為我是搞.NET這種先進技術的,去補習什麼HTML、JavaScript、CSS不是自貶身價嗎?其實,認真研究過HTML、JavaScript這些技術的人都會體味到,運用這些技術比流行的.NET、Java更有挑戰性,而且你獲得直接操作使用者界面元素的能力後,以前那種做界面效果、接口功能時有心無力的情形将一去不返,這是很痛決的!

  如何學習ASP.NET

  要成為一個優秀的ASP.NET程式員,不僅要掌握.NET架構,了解ASP.NET的原理,而且要對DHTML架輕就熟,甚至對各種浏覽器之間的差異也要有所了解,是以做ASP.NET程式員是一件很有挑戰的工作。那麼如何學習ASP.NET,并最終成為優秀的ASP.NET程式員呢?

  我認為可以分為兩個步驟來走:首先,熟悉ASP.NET各種标準控件的用法,了解ASP.NET工作原理。接着,朝“内”和“外”兩個方向擴充自己的知識和技能。

  在Visual Studio .NET這樣優秀的IDE幫助下,我們使用各種ASP.NET控件,掌握ASP.NET基本的工作原理應該是比較容易的。如能輔以幾個簡單的項目練習一下比較複雜的GridView、DataList等資料綁定控件的話,基本掌握ASP.NET是應該沒有多大問題的。

  之後,我們就可以朝兩個進階方向前進了。“修内”的話,深刻了解面向對象的程式設計思想是必修的,然後是各種的B/S架構的模式(比如MVC)的了解,最後是設計模式等等軟體工程的概念和技術。“修外”則更重實踐。首先,做項目時注意把一些可以實作在用戶端的邏輯用DHTML在用戶端實作出來,以此掌握結合服務端、用戶端技術的方法,加深對HTML的DOM對象的了解,熟練常用的JavaScript技巧。進而練習對Web界面的結構、資料、表現三者進行分離的規劃、設計與實作。

  如此看來,學習ASP.NET也并不是一件很難的事情,注意“為人寫程式”,“内外兼修”,自然就能做出合格的應用程式。