1. WebApplication(Web應用程序)和WebSite(網站)的區別:WebSite是爲了兼容從ASP轉過來的開發人員的習慣而存在的,用起來簡單,例如:不須要建立命名控件、C#代碼修改之後不須要重啓就能看到變化(不管是WebSite仍是WebApplication,修改aspx都不須要重啓),但不利於工程化開發,好比代碼出錯不容易發現,代碼不分命名空間。開發技術上沒有任何區別,只是開發、調試習慣不一樣而已。 2. 講簡單基礎知識時用WebSite,由於不須要重啓;講高級技術和作項目時用WebApplication。編程
WebApplication每次修改之後點擊【生成解決方案】也能當即看到修改效果,不須要重啓瀏覽器。原理:生成之後纔將變化的部分生成到dll,而WebSite則每次訪問頁面的時候會檢查cs是否變了,變了則自動從新編譯,因此每次修改之後當即有效果。瀏覽器
WebApplication編程模型的優勢: ●網站編譯速度快,使用了增量編譯模式,僅僅只有文件被修改後,這部分纔會被增量編譯進去。 ●生成的程序集 WebSite:生成隨機的程序集名,須要經過插件WebDeployment才能夠生成單一程序集 WebApplication:能夠指定網站項目生成單一程序集,由於是獨立的程序集,因此和其餘項目同樣能夠指定應用程序集的名字、版本、輸出位置等信息 ●能夠將網站拆分紅多個項目以方便管理 ●能夠從項目中和源代碼管理中排除一個文件 ●支持VSTS的Team Build方便每日構建 ●更強大的代碼檢查功能,而且檢查策略受源代碼控制 ●能夠對編譯先後進行本身規定的處理 ●對App_GlobalResources 的Resource強類支持 ●直接升級使用VS2003構建的大型系統工具
WebSite編程模型的優勢: ●動態編譯該頁面,立刻能夠看到效果,不用編譯整個站點(主要優點) ●同上,可使錯誤的部分和使用的部分不相干擾 ●能夠每一個頁面生成一個程序集 ●能夠把一個目錄當作一個Web應用來處理,直接複製文件就能夠發佈,不須要項目文件 ●能夠把頁面也編譯到程序集中網站
兩種編程模型的互相轉換: VS2005 SP1內置了轉換程序,能夠很是方便的從WebSite轉換到WebApplication 只須要複製文件,右鍵執行「轉換爲Web應用程序」便可。 未查到有專門的反向轉換工具,但比較後發現若是轉換也很是簡單。 *.designer.cs *.aspx *.ascx *.master 刪除全部*.designer.cs 將*.aspx、*.ascx、*.master頁面文件中的 Codebehind="FileList.aspx.cs" 批量替換成 CodeFile="FileList.aspx.cs" 總之,大網站比較適合用WebApplication項目,小網站比較適合用WebSite項目。ui