1. 程式人生 > >【菜鳥學習asp.net】 web應用程式與web網站的區別

【菜鳥學習asp.net】 web應用程式與web網站的區別

前言:

最近學習了與web程式設計相關的很多的基礎知識,接下將是一系列的基礎知識的對比學習,今天先簡單的瞭解一下web應用程式與web網站的區別!

在這裡插入圖片描述

1、編譯方式不一樣

這個是我認為二者之間最大的區別了,首先,web應用程式中的所有的檔案都是 相互獨立 的,就是說我的一個檔案的改變,或者發生錯誤不會影響其它的介面!但是web網站就不一樣了,它其中的一個檔案裡程式碼有錯誤,那麼 整個系統就會彈出錯誤!產生這樣的現象就是因為他們之間的編譯方式不一樣,web網站中是你用哪個檔案,我們的系統就去編譯哪個檔案!而web應用程式就是說我們無論去呼叫哪個檔案,我們的系統會將所有的檔案都進行編譯,這樣,按一個檔案都會被編譯,如果有錯,那麼一定會被發現!所以我們在做大型軟體的時候我們一般選擇的都是web應用程式,做小型的網站的時候,我們一般用web網站!

2、修改程式碼時候檔案更新的不同

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

所在Web應用程式中修改了程式碼以後一定要重新生成,不然修改後的程式碼不會生成到程式集中,程式集中可能還是舊的內容

3、web網站沒有名稱空間

為什麼網站不需要名稱空間?名稱空間就是為了區分類同名的情況,而網站一個檔案就是一個獨立的程式,所以不會出現類重名的情況.

4、web網站中的App_Code

現在都知道了網站中每個檔案都是獨立的程式,互不影響,那麼如果要是這樣我們的程式碼複用極大的不便了,因為像SqlHelper這種東西就不能公共呼叫了,連線資料庫呼叫資料庫豈不是麻煩死!這個就不用擔心了,因為微軟為網站提供了一個App_Code,我們可以將那些公用的程式碼都放在App_Code中就解決了問題!

後記:

那麼最後就總結一句話:大網站比較適合用WebApplication(應用程式)專案,小網站比較適合用WebSite(網站)專案!有人會問記住最後一句話不就的了,我想說我們要知其所以然!