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項目。