2010-07-17 40 views
1

我討厭聽起來很愚蠢,但ASP.NET並不是我的特長。什麼是將ASP.NET應用程序部署到生產環境的適當方式?

我已經構建了一個ASP.NET應用程序,我現在將其部署到生產服務器。在網上搜索我發現,建議只使用VS2010中的安裝工具來編譯和安裝生產服務器上的文件。然而,我覺得有點奇怪:

  1. 服務器上的文件正是我在我的系統上的文件。我會想象,轉移到生產服務器將涉及一些編譯和壓縮文件內容,以提高執行。但實際上,服務器上的所有文件都與我本地系統上的文件完全相同 - 我甚至可以在服務器上修改我的.cs文件,並且工作正常! (驚訝;-))。
  2. 從以上所述,我的所有代碼都可以在服務器上隨時獲得,供任何人查看。我不確定這是否是一個問題...例如,它是否可能最終導致安全風險(由於文件中的密碼)?

回答

1

您是否在VS2010中創建了網站或Web應用程序項目?如果它是一個網站,您需要將其轉換爲Web應用程序項目。當應用第一次被請求時,網站可以即時編譯。 Web應用程序項目是預編譯的,並且在發佈項目時不會將任何.cs文件推送到生產服務器。

我知道我可以通過右鍵單擊我的Web項目並選擇「轉換爲Web應用程序」來完成轉換,但由於ReSharper(5.1)或Microsoft Visual Studio 2010擴展的PowerCommands擴展菜單項可能存在。

此外,請檢查您的.aspx文件。你只有.aspx和.aspx.cs文件嗎?或者還有一個.aspx.designer.cs文件?設計器文件只會出現在Web應用程序項目中。如果你沒有看到它們,你有一個網站,而不是一個Web應用程序項目。

+0

轉換爲Web應用程序是VS – 2010-07-17 03:35:19

+0

@詹姆斯的一部分 - 它也來自地獄的私生子特徵的惡魔,導致牙齒多少痛苦和咬牙切齒,應該從內存遭致所有事物邪惡和不潔的。 ;-) – 2010-07-19 16:10:48

+0

@james,我認爲@code詩人的意思是web項目應該*開始*作爲web應用程序項目,並且網站功能應該被完全刪除。轉換過程並不總是理想的。我曾與代碼詩人一起工作過,他曾將一個非常龐大而笨拙的網站「網站」轉換爲應用程序,這是一件不幸的工作。他基本上從頭開始創建一個新項目並手動添加文件。在很多情況下,他必須手動創建設計器文件並將代碼從標記頁面移動到其中。它並沒有幫助那裏已經有很多.NET 1.1工件。 – 2010-07-19 17:21:13

1

你可以像你這樣做,但我不會因爲你提到的原因而推薦它。再加上你的代碼實際上並沒有編譯!

典型的方法是編譯應用程序,然後拿/ bin dll並將它們推送到服務器。一個基本的站點需要一個web.config,一個包含你的DLL的bin文件夾和任何包含標記的ASPX文件,任何靜態內容如JS/CSS/Images等等。在這種情況下,標記(aspx)仍然可以編輯,但是CS代碼位於DLL內部,服務器上沒有CS文件。

您還可以預編譯,這將實際修改ASPX文件整個事情,你可以更多的在這裏找到:http://msdn.microsoft.com/en-us/library/ms227972.aspx

Visual Studio 2010中已經生成菜單下的「發佈」功能,它可以推動通過FTP或Web部署爲您的網站,但這隻適用於較小的項目。

對於大多數情況,您可能希望查看msbuild或nant腳本過程,這可以讓您將JSmin或JSLint等內容集成到構建/部署中。

希望有所幫助。 -fs

相關問題