2010-06-22 90 views
1

我是一個小型開發人員,我創建的所有asp.net解決方案都在小型辦公室環境中的某臺桌面計算機上的IIS上運行。ASP.NET中的「部署」是什麼意思?

當我在VWD Express(2008 & 2010)中開發解決方案時,我在我的筆記本電腦上這樣做,然後將文件(字面上)複製/粘貼到指定爲「Web服務器」的計算機上的wwwroot文件夾「由一位小型辦公室經理。完成後,我設置IIS,將其指向wwwroot,將計算機(服務器)名稱添加到每個人的Intranet例外列表中,然後完成。

那麼在什麼時候「部署」進來?

期待您的指導。

回答

4

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

它是最純粹的形式,它是將這些文件複製到它將運行的位置的行爲。

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

但是,您可以構建更進一步的部署腳本,包括設置IIS,運行測試,增加組裝等等。另外,腳本可能不僅包括髮布當前站點/應用程序,還包括依賴項網站,如網絡服務,它可能包括同時推送這些網站。

0

.NET使用字節碼(去Wiki公共語言運行時)。如果您上傳.aspx文件,則這些文件將由IIS監視,並且每次更改它們時都將重新編譯爲新的字節碼。只是部署「已編譯」的字節碼版本可能是一個更好的主意,因爲在源代碼管理之外你只有一個版本的源代碼,並且如果有人試圖找到一些安全漏洞,那麼對它們來說就會困難得多。

2

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

Web Deployment Projects可能是您要了解更多信息的其他內容,因爲它是術語部署的另一個用法。

+0

真棒鏈接!非常感謝你! – 2010-06-22 14:16:21

+0

不客氣。 – 2010-06-22 14:21:57

1

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

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

但也只是將文件複製到服務器沒有預先編譯它們將工作。

ASP.NET Deployment從MSDN

+0

感謝您的信息。鏈接也很棒。謝謝! – 2010-06-22 14:16:41

0

當過你正在開發的任何asp.net網站或Web應用程序應該從IIS中運行見。通常在開發過程中,您會運行web默認的asp.net開發服務器,直到您的應用程序完成(無錯誤並準備好生成適當的輸出)爲止。之後用戶想要從瀏覽器訪問該網站,而不是從asp.net開發服務器(VS SDK)訪問該網站。所以爲此,您必須在IIS上部署asp.net網站,以便瀏覽器可以通過該用戶的URL訪問該網站。如上所述,.NET使用字節碼。所以當瀏覽器向IIS請求任何.aspx頁面時,IIS會重新將aspx.cs代碼重新編譯爲新的字節碼。因此部署代碼是IIS上的預編譯代碼存儲。它會返回而不會轉換它。在IIS上放置部署代碼請參閱Host your ASP.NET web application on IIS 8 (Windows Server 2012 or Windows 8).

0

您的標題說「在ASP.NET」中,但我認爲它有助於提供一些背景知識。基本上所有軟件的部署都是完成的,這些軟件的生產與開發不同,而且應該適用於所有軟件。在這種情況下,過去的部署不一定涉及編譯。過去,對於不是ASP.Net軟件的應用程序,程序員通常會自己編譯軟件,並提供編譯好的軟件。源代碼將被複制到生產庫,並且可執行文件將被單獨複製。部署也被稱爲促銷,多年前我開發了一些簡單的促銷系統。

由業務或其他組織開發的軟件應該具有獨立的開發(測試)環境和生產環境,部署是從開發環境複製到生產環境的過程。理想情況下,也會有一個分段環境,但我不知道ASP.Net是否可行。