兩者的比較:
ASP.NET應用工程
- 編譯時,把所有代碼(包括ASPX、CS等)都編譯了。
- 在Web服務器(IIS)上生成dll等動態庫文件。
- 從客戶端瀏覽器訪問時,再次編譯ASPX文件。
- 不使用App_Code文件夾。
ASP.NET站點
- 編譯時,只是檢查編譯錯誤,並不對各代碼進行實質的編譯。
- 在Web服務器(IIS)上只配置ASPX及CS文件,並不生成dll動態庫文件。
- 從客戶端瀏覽器訪問時,編譯所有代碼(包括ASPX、CS等)。
- 使用App_Code文件夾,其中保存業務邏輯代碼;並且,這裏不能保存aspx文件,因爲http通信不能訪問該文件夾。
另外,關於ASP.NET站點類型項目:
- 是從VS2005開始纔有的新項目類型,所以可能會與之前VS版本的會有不兼容的情況(不過大家可能都用VS2008以後的版本來開始,這一點也不算太重要)
- VS2005開始的新框架,包括MVC以及雲計算的Azure等,原本就不支持在ASP.NET站點類型的項目下開發。
綜上兩點,雖然表現形式呀網站功能等沒有太大差異,但爲了適應今後的就開發環境及需求,還是儘量優先選用ASP.NET應用工程項目類型。