在牛腩接近尾音調試代碼時,有時調試半天也調不出個甚么效果,無奈之舉,先和源碼對照1下,發現我的web層中每一個網頁下面多個aspx.designer.cs 文件(設計器文件),網上說有這個文件說明你這個項目是web利用程序而不是WEB網站,而普通的WEB網站是aspx(網頁信息)+cs(后臺代碼)的。這是甚么情況?我都快哭了,難不成從開始我建立的項目就是錯的,又回頭看視頻中最開始建立項目的階段,后來證明我的假定是對的,疑問又來了,可是我的絕大部份功能也都可以實現的啊,那他們兩個究竟有甚么不同,相互之間能不能轉換?原來原來他們都是設計asp網頁的,web項目有兩種,1種webapplication生成aspx.designer.cs 文件文件,1種website是不生成designer.cs的。
1、不同:
1、前者在添加aspx窗體時會有1個默許的命名空間,而web網站Web網站在援用后出現1個bin文件夾那里寄存dll
2、前者有重新生成和發布兩項;Web網站只有1個發布網站。
3、前者可以作為類庫被援用;Web網站則不可以作為類庫被援用。
4、前者可以添加ASP.Net文件夾中不包括bin、App_Code;Web網站可以添加ASP.Net文件夾包括bin、App_Code。
5、前者序添加網頁后頁面文件中默許codeBehind,而網站中則是coddfile
至此我中間遇到的疑惑都消除,為何我的網頁下面多了designer.cs文件,為何我的cs代碼中有命名空間,頁面文件中是codebehind。
2、各自優點:
1、網站:
動態編譯該頁面,馬上可以看到效果,不用編譯全部站點(主要優勢);可使毛病的部份和使用的部份不相干擾(可以要求只有編譯通過才能簽入);可以每一個頁面生成1個程序集(不會采取這類方式);可以把1個目錄當作1個Web利用來處理,直接復制文件就能夠發布,不需要項目文件;可以把頁面也編譯到程序集中
2、利用程序:
編譯和發布速度中,明顯變快,發布的時候1開始就能夠設置是不是覆蓋。原來的網站要升級過來,需要生成1個設計類代碼頁。有了此文件,編譯的時候,編譯器就不用再分析aspx頁面了。明顯加快了編譯速度。且只生成1個程序集。履行的速度頁快了 。
參考:web利用程序與web網站區分,aspx.designer.cs文件
3、相互轉化
1、網站轉化為利用程序:
VS2005SP1內置了轉換程序,可以非常方便的從WebSite轉換到WebApplication,只需要復制文件,右鍵履行“轉換為Web利用程序”便可。
2、利用程序轉化為網站:
刪除所有*.designer.cs,將*.aspx、*.ascx、*.master頁面文件中的Codebehind="FileList.aspx.cs" 批量替換CodeFile="FileList.aspx.cs"便可。
最后就是大網站比較合適用WebApplication項目,小網站比較合適用WebSite項目。
感受:現在只能理解到這里,總之這次的不認真換來了很多的收獲,算是歪打正著吧,學習中抱著1種不將就的態度。