WebApplication程式設計模型的優點:
●網站編譯速度快,使用了增量編譯模式,僅僅隻有檔案被修改後,這部分才會被增量編譯進去。
●生成的程式集
WebSite:生成随機的程式集名,需要通過插件WebDeployment才可以生成單一程式集
WebApplication:可以指定網站項目生成單一程式集,因為是獨立的程式集,是以和其他項目一樣可以指定應用程式集的名字、版本、輸出位置等資訊
●可以将網站拆分成多個項目以友善管理
●可以從項目中和源代碼管理中排除一個檔案
●友善的支援VSTS的Team Build友善每日建構
●更強大的代碼檢查功能,并且檢查政策受源代碼控制
●可以對編譯前後進行自己規定的處理
WebSite程式設計模型的優點:
●動态編譯該頁面,馬上可以看到效果,不用編譯整個站點(主要優勢)
●同上,可以使錯誤的部分和使用的部分不相幹擾(可以要求隻有編譯通過才能簽入)
●可以每個頁面生成一個程式集(一般不會采用這種方式)
●可以把一個目錄當做一個Web應用來處理,直接複制檔案就可以釋出,不需要項目檔案(适合小站點)
●可以把頁面也編譯到程式集中(應該用不到,而且WebApplication也可以通過WebDeployment插件來實作)
還有一些不同和相同的地方:
都是設計網頁的。
都可以添加ASP.Net檔案夾
web應用程式Default.aspx顯示有兩個原有檔案及Default.aspx.cs和Default.aspx.designer.cs;Web網站Default.aspx顯示
有一個原有檔案Default.aspx.cs。
web應用程式有重新生成和釋出兩項;Web網站隻有一個釋出網站。
web應用程式和一般的winform沒有什麼差別都有引用的是命名空間等;
Web網站在引用後出現一個bin檔案夾那裡存放dll和pdb檔案。
web應用程式可以作為類庫被引用;Web網站則不可以作為類庫被引用。
web應用程式可以添加ASP.Net檔案夾中不包括bin、App_Code;Web網站可以添加ASP.Net檔案夾包括bin、App_Code。
web應用程式還可添加元件和類;Web網站則沒有。
源檔案雖然都是Default.aspx.cs但是web應用程式有命名空間,多了一項System.Collections空間引用。
Web應用程式在修改了頁面底層的代碼之後需要重新進行編譯, 而網站不需要重新編譯
網站可以添加APS檔案夾,Web應用程式不可以
Web應用程式的項目會生成Dll檔案
網站在釋出的時候,會自動生成Dll檔案,但是每次的Dll檔案名都不一樣
Web應用程式會有解決方案和項目檔案
最表面的差別就是你部署的時候 方式不同
應用程式你隻需要頁面和bin檔案夾裡面的dll檔案
網站你則還需要把頁面的背景檔案一起部署
相對而言,大網站比較适合Web Application項目,小網站比較适合Web Site項目。