官术网_书友最值得收藏!

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中,也可以將輸出信息的代碼直接寫在頁面加載事件中,那樣的話就不必單擊按鈕再實現輸出了。

主站蜘蛛池模板: 文水县| 唐海县| 辽源市| 富源县| 白城市| 焦作市| 酒泉市| 兴海县| 六安市| 洛宁县| 南安市| 湄潭县| 通江县| 策勒县| 贵南县| 祁阳县| 南岸区| 松滋市| 湘乡市| 九江市| 永修县| 平遥县| 日照市| 修水县| 肇州县| 房产| 玛纳斯县| 柳江县| 珲春市| 长阳| 桂阳县| 巴彦淖尔市| 育儿| 奉贤区| 焉耆| 济南市| 电白县| 琼海市| 台安县| 竹山县| 肇庆市|