Visual Studio中web應用程式和網站區別

來源:互聯網
上載者:User

Vs2005,VS2008,VS2010中都有建立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"

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

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

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

2、基於上面的原因

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

網站不需要重新編譯

3、網站可以添加APS檔案夾,Web應用程式不可以

4、Web應用程式的項目會產生Dll檔案

網站在發布的時候,會自動產生Dll檔案,但是每次的Dll檔案名稱都不一樣

5、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.