一、B/S和C/S
在我們生活中軟件系統可謂是無處不在,我們平時的電腦中會安裝各種各樣的軟件,並且使用各種各樣的系統。有一些系統是通過我們的瀏覽器打開使用的,比如:QQ空間、新浪微博、百度貼吧等等。同時還有一些需要我們安裝后在電腦中直接運行的軟件,比如:QQ、Office、各種游戲等等。那么這些軟件系統他們有什么區別呢?其中最大的區別就在於前者是一些網站系統,我們在互聯網中通過瀏覽器輸入網址即可訪問使用,這類的系統稱為B/S(Browser/Server)架構,而后者的話是在我們計算機中打開的軟件,直接在電腦中雙擊應用圖標就可以使用,這類系統我們稱為C/S(Client/Server)架構。
我們的ASP.NET主要針對的就是B/S架構項目的開發,也可以稱作為Web應用程序,通俗點來講就是網站。我們平常都會瀏覽各種各樣的網站,那么這些不同的網站又有哪些不同呢?有些網站做的比較簡潔,內容較少,並且內容幾乎不會發生改變,比如一些旅游景點網站、公司的門戶網站、游戲的下載網站等等,我們把這類型的網站稱為靜態網站。同時有些網站內容非常多,可以提供數據交互,比如京東商城、淘寶、QQ空間、新浪微博等等,我們把這種類型的網站稱為動態網頁。
我們的ASP.NET就是為了專門用來開發Web應用程序的技術,接下來就讓我們開始去研究它是如何開發的。
B/S架構是Browser/Server的簡寫,也就是瀏覽器/服務器端的交互,如百度網站、新浪微博等。
C/S架構是Client/Server的簡寫,也就是客戶端/服務器端的交互,如QQ軟件、酷狗播放器等。
靜態網頁:是指與服務器不會發生數據交互的網頁,即網頁內容不會變化的頁面
動態網頁:是指會與服務器發生數據交互,即網頁的內容會發生改變的頁面
ASP.NET 是新一代 ASP 。它與經典 ASP 是不兼容的,但 ASP.NET 可能包括經典 ASP。
ASP.NET 頁面是經過編譯的,這使得它們的運行速度比經典 ASP 快。
ASP.NET 具有更好的語言支持,有一大套的用戶控件和基於 XML 的組件,並集成了用戶身份驗證。
ASP.NET 頁面的擴展名是 .aspx ,通常是用 VB (Visual Basic) 或者 C# (C sharp) 編寫。
在 ASP.NET 中的控件可以用不同的語言(包括 C++ 和 Java)編寫。
當瀏覽器請求 ASP.NET 文件時,ASP.NET 引擎讀取文件,編譯和執行腳本文件,並將結果以普通的 HTML 頁面返回給瀏覽器。
二、ASP.NET的工作原理:
客戶端向服務器發送請求之后,服務端在將.aspx頁傳遞至編譯器之前,先由解析器先驗證和解釋其頁面代碼,然后由編譯器通過運行時將頁面內容編譯為IL中間語言。程序集緩存是存儲已預編譯的頁面的本機代碼,通過頁面的邏輯代碼的執行,將最終的頁面加載至內存中並響應至客戶端,客戶端瀏覽器通過解析最終用戶將看到相應的html網頁了。為了提高頁面顯示速度,當頁面創建好之后,可以放在輸出緩存中,當下次請求時可從緩存中快速讀取。
三、制作一個簡單的ASP.NET網站
在ASP.NET中,Web窗體指網頁,該網頁包括可視化界面和邏輯代碼兩部分,可視化界面主要是指以“.aspx”為后綴的代碼文件,用於存放顯示服務器控件,而實現這些控件功能的邏輯代碼位於“.aspx.cs”的后綴文件中,也被稱作“代碼隱藏”文件。
可視化頁面界面 Login.aspx如下:
邏輯代碼 Login.aspx.cs如下:
示例步驟:
1)新建項目
1.1在VS中新建項目,選擇ASP.NET Web應用程序
1.2 輸入項目名稱、解決方案名稱、框架后點擊創建
1.3在接下來的配置頁面中選擇空模板,並將高級中的“為HTTPS配置“的勾去掉(目前開發階段暫時用不到),然后點擊創建即可
1.4看到如上效果則說明項目已經創建完成
2)添加文件
2.1在項目上右鍵點擊“添加”,選擇“新建項”,在彈出窗口中選擇Web窗體,並輸入頁面名稱,然后點擊“添加”
2.2我們在創建好的文件中可以看到下面的頁面文件效果,分別為Index.aspx和Index.aspx.cs:
3)編寫代碼
3.1在創建好的Index.cs文件中我們添加輸出HelloWorld的代碼:
4)運行測試
4.1在我們的ASP.NET項目中,我們可以在頁面文件上右鍵后選擇“在瀏覽器中查看”選項來查看頁面效果,使用這種方法會直接運行頁面,不會進入調試狀態:
4.1除上述方法之外,我們還可以在VS中點擊“運行”按鈕來啟動我們的項目,該方法會進入到調試狀態:
4.2瀏覽器加載完畢后會看到如下運行效果:
掌握了ASP.NET Web應用程序的基本結構以后,我們便可以去嘗試着開發一些具有交互式的應用了,比如:
為了實現這個效果,我們再創建一個新的頁面,比如Demo.aspx
然后在頁面中拖入Label、TextBox和一個Button控件:
然后在Demo.aspx.cs文件中添加按鈕的點擊事件並添加信息顯示的相關代碼:
接下來運行項目,並查看效果。
------------------------------------------------------------------------------------
在開發項目之前我們首先需要熟悉開發工具的使用,首先以一個最簡單Hello World案例為主來演示VisualStudio2019創建ASP.NET Web應用程序的步驟,然后了解ASP.NET 頁面的結合組成,突出說明ASP.NET的Web窗體是頁面顯示代碼和邏輯代碼分離的,有利於擴展和維護的特點。
了解完畢項目開發的基本流程和VisualStudio2019的基本使用步驟之后,接下來再添加一個頁面來實現一個簡單的具有交互功能的應用,通過這個案例的演示,重點突出通過ASP.NET開發Web應用程序的方便與快捷。