2011-06-03 200 views
0

想知道部署ASP.Net網站的最佳選擇是什麼。此刻我只是將代碼放在服務器上的一個文件夾中,並在IIS上創建一個虛擬目錄以引用此文件夾。然後我在服務器上打開VS2008的網站並構建它。儘管對我來說工作正常,但我不確定我是否按照最佳部署方法進行部署。部署asp.net網站的最佳方法

謝謝。

回答

2

對此在互聯網上有很多意見,這是所有的意見。一定程度上取決於你和你的團隊(如果你有一個),如果你的方法適合你,那麼我沒有看到任何改變的巨大理由,但我建議你至少有一箇中轉站點,你可以在那裏在將用戶測試部署到生產之前部署代碼。

也就是說,在服務器上運行VS並不是很好(並且意味着您需要另一個VS許可證,因此可能是浪費),並且由於VS包含發佈選項,它是相當多餘的。我使用發佈的小網站,它工作得很好。

0

在我工作的一個項目上,我們最初建立在開發機器上,壓縮並複製'bin'目錄的內容。 (解壓,在IIS中創建等網站...)

後來,當我們有時間,我們就採取這種做法:

Creating windows installers in VS2008

這很有效,因爲(字面上)任何人都可以進行部署。真正的美妙之處在於,你可以解釋這只是一個複雜的'bin'目錄複製過程的奇特方式...

思考的食物我希望。

Dave

0

您有幾個選擇比在服務器上運行Studio更好。

根據您的團隊規模,你可以:

  • 直接從VS發佈
  • 持續集成,請Cruise Control對CI和文件同步的是
  • 組合方式(即CI測試服務器然後xcopy到生產)

我會主張CI,因爲您傾向於更快地找到問題的方式,但它假定您正在使用良好的版本跟蹤和測試實踐。複製文件可能會產生意想不到的後果,如錯過的文件,過時的文件開始保留等。

0

當您部署該方式時,任何獲得對Web服務器的訪問權限(如果託管的話可能無法控制)都可以查看並甚至可能會改變你的.aspx頁面。

您可以在Visual Studio中使用的一種替代方法是將編譯爲二進制文件。您可以通過選擇菜單Build> Publish>取消選中「允許此預編譯站點可更新」複選框。「當然,這樣做的缺點是,即使是頁面HTML中最微小的變化,也需要重新編譯代碼並重新部署。

這是安全性和可管理性之間的明顯折衷,但預編譯也可以幫助提高性能。是的precompilation alternatives一個解釋。

你也可以考慮的建議,Key Configuration Settings When Deploying a Web Application製造。簡單地說,

如果您如Web部署Web應用程序,你可以控制一臺機器,服務器位於公司內部網絡或Web主機專用Web服務器您可以使用machine.config中的元素來強制Web服務器上的所有應用程序遵循上面提供的建議(即,使用自定義錯誤頁面的,禁用輸出跟蹤以及不編譯自動編譯的代碼調試模式)。只需將下面的標記添加到Machine.config文件中的元素<system.web>內:

<deployment retail="true" /> 

再次,這是一個非常簡單的變化作出。