1.5 第一個Web應用程序
Web應用程序的開發越來越流行,很多應用軟件都已經Web化。C#提供了強大的Web開發支持,能開發出企業級的大型Web應用程序。一些常見的Web應用程序開發,例如在線OA系統、電子商務等都是Web應用程序。在本節將初步介紹如何應用C#開發Web應用程序。在本書的第11章會對其有更詳細的介紹。
1.5.1 什么是Web應用程序
Web應用程序是基于瀏覽器和服務器模式的應用程序,它通過瀏覽器呈現給使用者,通過服務器提供遠程服務。Web應用程對網絡的依賴性很大,同時對于計算機網絡的貢獻也很大。目前,一些辦公軟件和應用軟件都已經有了Web版本。例如Office就有Web版本,如圖1.18就是一個Web版的電子表格軟件。

圖1.18 Google公司的Web電子表格軟件
例如,在一個賣鮮花的網站中,客戶進行反復的挑選,瀏覽一系列的鮮花和網頁后,下了一些鮮花的訂單。然后支付相應的費用,最后發出訂單,確認購買。這樣一個流程就是Web應用程序在服務著,如圖1.19所示。

圖1.19 網上花店
Web應用程序不同于傳統的網站,一般的Web站點使用一系列菜單或導航欄來導航該站點。自由地瀏覽一個Web網站時,可以進行無狀態和匿名的訪問。但是Web應用程序是不可能接受無狀態和匿名的訪問的。它有以下三個優點:
· Web應用程序采用(B/S)架構,這種架構采用Internet上標準的通信協議。這樣可以使位于Internet網絡上任意位置的人都能夠正常訪問Web程序。對于服務器來說,通過相應的Web程序和數據庫服務可以對數據進行處理。
· 在服務器上對數據進行處理,并將處理的結果生成網頁,返回給用戶的瀏覽器,用戶可以直接查看。
· 在客戶端只需要安裝一套內置瀏覽器的操作系統,例如Windows XP、Windows Vista。或安裝一個瀏覽器軟件,就可以實現服務器上數據的訪問。
1.5.2 開發Hello World Web應用程序
要建立Web應用程序,就必須用到Internet信息服務(IIS)或者其他的Web服務器,例如Apache。它能夠響應用戶的請求,把網頁內容傳輸給用戶。同時還能管理和維護Web站點等。下面以Windows XP中的IIS安裝為例來介紹一下它的安裝,其操作步驟如下所示。
注意:Visual Studio 2010集成開發環境中也提供了調試ASP.NET程序的功能,只不過它只支持純ASP.NET程序,如果程序中含有ASP代碼,則將會出錯。如果使用IIS調試程序,筆者推薦在Web應用程序的web.config文件中開啟調試,待開發完成后再關閉。
① 將Windows XP系統光盤放入光驅中。選擇“開始”|“控制面板”|“添加/刪除程序”|“添加/刪除Windows組件”命令,彈出“Windows組件向導”對話框,如圖1.20所示。

圖1.20 Windows組件向導
② 選擇“Internet信息服務(IIS)”復選框,單擊“下一步”按鈕,開始安裝IIS,如圖1.21所示。

圖1.21 安裝IIS
③ 單擊“完成”按鈕,完成IIS的安裝。
④ 啟動Visual Studio 2010,選擇菜單欄“文件”|“新建”|“網站”命令,彈出如圖1.22所示的對話框。在“Visual Studio已安裝的模板”選項區域中選擇“ASP.NET網站”選項,選擇保存路徑即可。

圖1.22 創建Web應用程序Hello Word
【范例1-2】創建一個Web應用程序,在頁面中輸出“Hello Word”字符串,如示例代碼1-2所示。
示例代碼1-2
01 using System; //包含基本類和基類 02 using System.Linq; //支持語言集成查詢 03 using System.Web; //提供瀏覽器與服務器通信的類和接口 04 using System.Xml.Linq; 05 …… //此處還有其他命名空間,此處省略 06 public partial class _Default : System.Web.UI.Page 07 { 08 protected void Page_Load(object sender, EventArgs e) //頁面加載時的事件 09 { 10 Label1.Text = ""; //為Label控件的text賦一個空值 11 } 12 protected void Button1_Click(object sender, EventArgs e) //按鈕的單擊事件 13 { 14 Label1.Text = "Hello Word"; //為Label控件的text屬性賦值 15 } 16 }
【運行結果】選擇“調試”|“啟動調試”選項,運行程序,然后單擊頁面上的“Button1”按鈕。結果如圖1.23所示。

圖1.23 Web應用程Hello Word運行結果
【代碼解析】該程序使用了按鈕控件和標簽控件,第08 行代碼是在頁面加載時要觸發的事件,這在Web項目中,是默認生成的。第12 行代碼是按鈕的響應事件。從代碼中可以看出,ASP.NET程序和一般的Windows應用程序是很相像的,只是兩者在運行機制上有所不同。ASP.NET程序是通過遠程計算機響應后返回客戶端,通過HTML和其他元素呈現出來。
注意:在范例1-2中,也可以將輸出信息的代碼直接寫在頁面加載事件中,那樣的話就不必單擊按鈕再實現輸出了。
- Microsoft Dynamics CRM Customization Essentials
- Design for the Future
- 商戰數據挖掘:你需要了解的數據科學與分析思維
- CorelDRAW X4中文版平面設計50例
- 大數據技術與應用
- RPA(機器人流程自動化)快速入門:基于Blue Prism
- Hybrid Cloud for Architects
- 數據掘金
- LAMP網站開發黃金組合Linux+Apache+MySQL+PHP
- Machine Learning with the Elastic Stack
- 工業機器人維護與保養
- 從零開始學C++
- 計算機組網技術
- 從零開始學Java Web開發
- 數字多媒體技術基礎