[ASP.NET]Web網站與Web應用程序區別


[ASP.NET]Web網站與Web應用程序區別

本文鏈接: https://blog.csdn.net/a954553391/article/details/86403521

前言:在項目開發中,我們都會用到web網站與Web應用程序,那么這兩者有什么區別呢?下面和大家分享一下。

(一)是否需要重新生成

1.web網站

項目就是一個應用程序。在VS中查看的時候,項目中建立的一般處理程序,有兩個文件,網站只有一個。在代碼層次上沒有什么區別。

項目中的一般處理程序有命名空間,而網站中的沒有。WEB網站每一個頁面(ashx頁面)都是一個獨立的程序,【一個頁面出錯了不會影響到另外一個頁面(演示)】。

2.Web應用程序

項目中建立完一個文件(或修改了一個文件),一定要【重新生成】。
目的:將項目生成對應的dll文件放在bin/Debug目錄下(並且所有的類放在了該程序集中。),如果項目中的一個文件出錯了,是沒有辦法生成成功的。

(二)名稱是否隨機

1.web網站

網站中每個頁面(aspx,ashx)都生成對應的程序集,名稱是隨機的,當文件建立保存以后,請求會自動保存一下。如果你對文件中的代碼改動了,Assembly.GetExecutingAssembly().Location
會重新編譯生成一個新的程序集,如果沒有改動,則不會生成新的.(在Web網站中的一個一般處理程序中獲取當前一般處理程序文件所生成的dll文件。

2.Web應用程序

一般處理程序中的代碼改變了那么重新生成,沒有變化則不會重新生成。

所在Web應用程序中修改了代碼以后一定要重新生成,不然修改后的代碼不會生成到程序集中,程序集中可能還是舊的內容
為什么網站不需要命名空間?命名空間就是為了區分類同名的情況,而網站一個文件就是一個獨立的程序,所以不會出現類重名的情況.

(三)SqlHelper放置的位置

在網站中寫SqlHelper(定義普通的類)必須放在App_Code文件夾中,而應用程序直接建就行了,不要建立App_Code文件夾,因為該類最終會生成到程序集中。但是在網站就必須放在App_Code文件夾下,原因是,我們請求網站的一個一般處理程序時會自動編譯,但是一個不同的類是不同被請求的,所以也就沒法編譯。但是放在app_code文件夾中會在請求某個一般處理程序時自動被編譯。但是項目不需要了,因為最終會生成到一個程序集中。

小網站可以用Web網站,因為文件比較少,請求的時候出現錯誤,直接修改。不關心其它頁面。但是大項目中用到的文件特別多,如果建成WEB網站那么維護起來很痛苦,但是建成WEB項目可以統一生成,這時如果出錯了,也很容易知道哪個文件出錯了,當所有的文件都編譯通過了才能進行訪問,這是與WEB網站不同的地方

總結:大網站比較適合用WebApplication項目,小網站比較適合用WebSite項目


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM