vs中web應用程序和Web網站區別

Vs2005和VS2008中都有建立web應用程序和Web網站,總搞的大家不知所戳。

web應用程序可能是微軟爲了讓程序員很好的從winform過渡到web開發而保留了。Web網站就完全要應用到web開發的。其實兩者之間沒有什麼大的區別,自己從表象總結了一下他們的異同點。
相同:
1、都是設計Asp網頁的。
2、都可以添加ASP.Net文件夾(都包括App_Browsers、App_Data、App_GlobalResources、App_LocalResources、App_Themes)。
不同:
1、web應用程序Default.aspx顯示有兩個原有文件及Default.aspx.cs和Default.aspx.designer.cs;Web網站Default.aspx顯示有一個原有文件Default.aspx.cs。
2、web應用程序有重新生成和發佈兩項;Web網站只有一個發佈網站。
3、web應用程序和一般的winform沒有什麼區別都有引用的是命名空間等;Web網站在引用後出現一個bin文件夾那裏存放dll和pdb文件。
4、web應用程序可以作爲類庫被引用;Web網站則不可以作爲類庫被引用。
5、web應用程序可以添加ASP.Net文件夾中不包括bin、App_Code;Web網站可以添加ASP.Net文件夾包括bin、App_Code。
6、web應用程序還可添加組件和類;Web網站則沒有。

7、源文件雖然都是Default.aspx.cs但是web應用程序有命名空間,多了一項System.Collections空間引用。

 

------------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------------------

原vs.net2005  中沒有web應用程序項目。只有新建網站的功能。SP1中增加了web應用程序的功能。此功能推出,滿足了衆多VS.NET2003開發網站的朋友們。

vs2005的“網站”項目中。其實也有一些優點。原來的vs2003和VS2005SP1中的WEB應用程序.是將整個網站應用程序編譯成一個 DLL。而網站項目中是對每個aspx生成的代碼文件,單獨編譯。特殊目錄App_Code中代碼文件才編譯成單獨一個程序集。這種設計。可以單獨生成一 個頁和該頁程序集。上傳的時候,可以只更新此頁。

但這個“網站”項目,編譯速度慢,類型檢查不徹底。兩個不同的ASPX可以生成相同的兩個名稱的類。發佈的時候,也很慢,會刪除所有原始發佈目錄中的所有文件,且複製所有新的文件。並且中間還有停頓,需要用戶主動按覆蓋文件的按鈕才能發佈。

而在SP1中的WEB應用程序中,編譯和發佈速度中,明顯變快,發佈的時候一開始就可以設置是否覆蓋。原來的網站要升級過來,需要生成一個設計類代 碼頁。有了此文件,編譯的時候,編譯器就不用再分析ASPX頁面了。明顯加快了編譯速度。且只生成一個程序集。執行的速度頁快了。

 

------------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------------------

 網站編譯速度快,使用了增量編譯模式,僅僅只有文件被修改後,這部分纔會被增量編譯進去。

  生成的程序集 WebSite:生成隨機的程序集名,需要通過插件WebDeployment纔可以生成單一程序集 WebApplication:可以指定網站項目生成單一程序集,因爲是獨立的程序集,所以和其他項目一樣可以指定應用程序集的名字、版本、輸出位置等信 息

  可以將網站拆分成多個項目以方便管理

  可以從項目中和源代碼管理中排除一個文件

  支持VSTS的Team Build方便每日構建

  更強大的代碼檢查功能,並且檢查策略受源代碼控制

  可以對編譯前後進行自己規定的處理

  對App_GlobalResources 的Resource強類支持(網上說的,還沒有了解過)

  直接升級使用VS2003構建的大型系統

  WebSite編程模型的優點:

  動態編譯該頁面,馬上可以看到效果,不用編譯整個站點(主要優勢)

  同上,可以使錯誤的部分和使用的部分不相干擾(可以要求只有編譯通過才能簽入)

  可以每個頁面生成一個程序集(不會採用這種方式)

  可以把一個目錄當做一個Web應用來處理,直接複製文件就可以發佈,不需要項目文件(無所謂,只適合小站點)

  可以把頁面也編譯到程序集中(應該用不到,而且WebApplication也可以通過WebDeployment插件來實現)

  兩種編程模型的互相轉換:

  VS2005 SP1內置了轉換程序,可以非常方便的從WebSite轉換到WebApplication 只需要複製文件,右鍵執行“轉換爲Web應用程序”即可。未查到有專門的反向轉換工具,但比較後發現如果轉換也非常簡單。

  刪除所有*.designer.cs 將*.aspx、*.ascx、*.master頁面文件中的 Codebehind="FileList.aspx.cs" 批量替換成 CodeFile="FileList.aspx.cs"

 

原文地址:http://tech.sina.com.cn/s/2008-06-30/1256713197.shtml

 

------------------------------------------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------------------------------------------

很多新手在VS中創建項目的時候不明白網站和Web應用程序的區別,下面簡單總結一下

1、Web應用程序在打開的時候會將所有項目都編譯,所以說一開始打開一個Web應用程序會比較慢,但是之後的運行就比較快了

網站是在訪問每一個頁面的時候對這個頁面進行編譯,所以說訪問每個頁面的速度都差不多

2、基於上面的原因

Web應用程序在修改了頁面底層的代碼之後需要重新進行編譯

網站不需要重新編譯

3、網站可以添加APS文件夾,Web應用程序不可以

4、Web應用程序的項目會生成Dll文件

網站在發佈的時候,會自動生成Dll文件,但是每次的Dll文件名都不一樣

5、Web應用程序會有解決方案和項目文件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章