ASP.net中建立Web網站與建立Web應用程式的區別

來源:互聯網
上載者:User

以下內容轉自http://book.51cto.com/art/201010/231255.htm

建立Web網站與建立Web應用程式的區別

在Visual Studio 2010中,除了可以使用建立Web應用程式的方式來構建自己的Web項目之外,還可以通過建立Web網站的方式來構建Web項目。

其中,Web網站的建立方法:開啟Visual Studio 2010主表單,在工具列裡選擇“New”|“Web Site”命令,在彈出的New Web Site表單裡可以通過“ASP.NET Web Site”和“Empty Web Site”這兩種模板來建立自己的Web網站。

其實,微軟早在Visual Studio 2005的時候就提供了建立Web網站的功能,它是完全面向Web開發的。與Web應用程式相比,它們存在如下不同之處:

1. 從整體結構來看

Web應用程式和一般的Winform程式沒有什麼區別,它們都是按項目進行管理的,只有被專案檔所引用的檔案才會在Solution Explorer中出現,而且只有這些檔案才會被編譯。可以很容易地把一個ASP.NET應用拆分成多個Visual Studio項目,也可以很容易地從項目和原始程式碼控制中排除一個檔案。而項目的檔案都是按照命名空間來管理的,Web應用程式可以非常方便地引用其他的類庫,並且自己本身也可以作為類庫被引用,非常適合於項目分模板進行開發。因此,有人認為Web應用程式可能是微軟為了讓程式員很好地從Winform過渡到Web開發而保留了。

與Web應用程式相比,Web網站採用了全新的開發結構,一個目錄結構就是一個Web項目,這個目錄下的所有檔案,都作為項目的一部分而存在。它拋棄了命名空間的概念,並且Web網站不可以作為類庫被引用。

2. 從編譯部署看

調試或者運行Web應用程式頁面的時候,必須全部編譯整個Web項目。編譯整個Web項目通常比較快,因為Visual Studio使用了增量編譯模式,僅僅只有檔案被修改後,這部分才會被增量編譯進去。因為所有的類檔案被編譯成一個應用程式集,當你部署的時候,只需要把這個應用程式集和 .aspx檔案、.ascx檔案、設定檔以及其他靜態內容檔案一起部署。這種模型下,.aspx 檔案將不被編譯,當瀏覽器訪問這個頁面的時候,才會被動態編譯。

而在Web網站項目中的所有的Code-Behind 類檔案和獨立類檔案都被編譯成一個獨立的應用程式集,這個應用程式集被放在Bin目錄下。因為是一個獨立的應用程式集,你能夠指定應用程式集的名字、版本、輸出位置等資訊。在預設情況下,當你運行或調試任何Web頁的時候,Visual Studio會完全編譯Web網站項目,這麼做可以讓你看到編譯時間的所有錯誤。但是,在開發進程中,完全編譯整個網站會是相當慢的。所以推薦你在開發調試中只編譯當前頁。

根據上面的闡述,可以自行決定選擇建立Web項目的方式。如果在開發上有如下需求,建議使用建立Web應用程式的方式來構建自己的Web項目:

希望採用項目的管理方式,需要使用多重專案來構建一個Web應用,即把一個大的ASP.NET項目拆分成多個小項目。

在開發上Web頁面或者Web使用者控制項中需要使用到單獨的類,並且希望使用命名空間來進行管理,編譯後要控制應用程式集的名字。

如果在開發上有下列需求,建議使用建立Web網站的方式來構建自己的Web項目:

喜歡使用 Single-Page Code 模型來開發網站頁面,而不是使用Code-Behind 模型來編寫網站頁面。

在編寫頁面時,為了可以快速地看到編寫效果,動態編譯該頁面,馬上可以看到效果,不用編譯整個網站。

需要每個頁面產生一個應用程式集。

希望把一個目錄當做一個Web應用來處理,而不需要建立一個專案檔。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.