簡體   English   中英

ASP.NET中的“部署”是什么意思?

[英]What does “Deployment” mean in ASP.NET?

我是一個小型開發人員,我創建的所有asp.net解決方案都可以在小型辦公環境中某人的台式計算機上的IIS上運行。

當我在VWD Express(2008和2010)中開發解決方案時,我在筆記本電腦上這樣做,然后將文件(按字面意思)復制/粘貼到計算機上的wwwroot文件夾中,該文件夾被一小部分人指定為“ Web服務器”辦公室主管。 完成后,我將設置IIS,將其指向wwwroot,將計算機(服務器)名稱添加到每個人的Intranet例外列表中,然后完成。

那么什么時候出現“部署”呢?

期待您的指導。

部署的定義會根據幾個因素而變化。 包括您使用的Studio版本,以及是否正在構建網站或Web應用程序。

最純粹的形式是將這些文件復制到將要運行的位置的行為。

部署網站通常只是復制文件。 部署Web應用程序通常涉及將后面的所有代碼編譯為程序集,並復制aspx頁面和程序集(無實際代碼)。

但是,您可以構建更進一步的部署腳本,其中包括諸如設置IIS,運行測試,整理裝配等等的腳本。腳本還可能不僅包括發布當前站點/應用程序,還包括發布依賴項站點(例如Web)服務,可能包括同時推送這些服務。

在我的世界中,部署通常意味着將代碼從一個環境遷移到另一個環境。 這意味着為用於網站編寫的自定義代碼編譯DLL,例如,站點中某些代碼可能會使用Domain Objects或其他類庫,並配置各種文件以便使用正確的數據庫。 ,主機名可以在web.config和其他由各種腳本處理的內容中設置。 例如,從開發到測試環境或從UAT到生產環境就是部署示例。

Web部署項目可能是您需要了解的其他內容,因為它是術語“部署”的另一種用法。

軟件部署是使軟件系統可用的所有活動。

部署asp.net網站是指構建網站,對其進行預編譯並將預編譯的文件上傳到服務器,部署過程還將包括配置IIS和DB連接(如果存在)。

而且,只需將文件復制到服務器而不進行預編譯即可。

從MSDN 部署ASP.NET

查看何時開發任何asp.net網站或Web應用程序,它都應從IIS運行。 通常,在開發過程中,您可以從默認的asp.net開發服務器運行網站,直到您的應用程序最終確定(無錯誤並准備產生適當的輸出)之前,它都是有用的。 之后,用戶希望通過瀏覽器而不是asp.net開發服務器(VS SDK)訪問該網站。 因此,您必須在IIS上部署asp.net網站,以便瀏覽器可以為用戶訪問該網站的URL。 如上所述,.NET使用字節碼。 因此,每當瀏覽器向IIS請求任何.aspx頁時,IIS每次都會將aspx.cs代碼重新編譯為新的字節碼。 因此,部署代碼是IIS上的預編譯代碼存儲。 它會返回而不進行轉換。 有關在IIS上放置部署代碼的信息,請參閱在IIS 8(Windows Server 2012或Windows 8)上托管ASP.NET Web應用程序。

.NET使用字節碼(轉到Wiki公共語言運行時)。 如果您上傳.aspx文件,則這些文件將由IIS監視,並在每次更改它們時重新編譯為新的字節碼。 僅部署“已編譯”字節碼版本可能是一個更好的主意,因為這樣一來,您將只有一個版本的源代碼不在源代碼控制范圍之內,而且如果有人試圖發現一些安全漏洞,那么對他們來說將變得更加困難。

您的標題是“在ASP.NET中”,但是我認為這有助於提供一些背景知識。 基本上,所有產品的生產與開發都是分開進行的,所有軟件都應進行部署。 在這種情況下,過去的部署不一定涉及編譯。 過去,對於不是ASP.Net軟件的應用程序,程序員通常會自己進行軟件的編譯,並提供已編譯的軟件。 源代碼將被復制到生產庫,而可執行文件將被單獨復制。 部署也稱為升級,很多年前,我已經開發了一些簡單的升級系統。

為企業或其他組織使用而開發的軟件應具有單獨的開發(測試)環境和生產環境,並且部署是從開發環境復制/移動到生產環境的過程。 理想情況下,也將有一個暫存環境,但我不知道ASP.Net是否可能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM