2009-10-23 48 views
1

上傳問題,我創建了我使用asp.net 3.5的第一個網站。 我已經使用App_Code文件管理我的源代碼文件。現在有一個asp.net網站

,完成後:

  1. 列表項
  2. 什麼需要被上傳到服務器?
  3. 待辦事項上傳所有文件,包括web表單文件,源代碼文件作出任何意義嗎?
  4. 請從這些除了提供自己的建議。

回答

2

你應該看看有關部署ASP.NET應用這幾個很好的教程和文章之一。

我們您的想法應該怎樣上傳,什麼不是。如果你理解了asp.net週期以及如何將文件通過服務器處理,它會很容易知道,所有的文件需要上傳。但由於這是你的第一個應用程序,你可能沒有這方面的知識。

所以,爲了節省您一些閱讀時間,全部上傳。在舊版本如1.1你必須編譯所有的源代碼轉換成二進制文件,你就不必了,但你可以,就看你。

我然而prefere上傳的所有文件,沒有它編譯成二進制代碼,使得它更易於管理,一旦他們在服務器上。

網絡服務器將根據請求(第一請求)編譯這些,然後在其他請求上使用編譯的文件,無論如何,這是簡短的答案,這就是爲什麼第一次加載時間更長,其他時間假設)更快。

此外,worht知道的是,如果你改變了web.config文件,應用程序將重新編譯。

所以才拖N'拖放他們的人到你的韋伯地點,並開始播放!

+0

我不認爲將源文件放在Web服務器上這樣的好主意 - 而不是當你不必這樣做。 – d4nt 2009-10-23 08:20:10

+0

初學者理解多種方式是一個好主意。我的回答清楚地表明,你可以做到這一點,並且它在.net的舊版本中是強制性的。但我不喜歡它,只是我正在玩這些文件。 – 2009-10-23 08:23:28

+0

我瞭解上傳所有文件的概念。但是,如果我不想上傳源文件。 – pokrate 2009-10-30 15:48:52

0

如果您正在使用App_Code文件夾,聽起來您正在使用網站項目類型。在這種情況下,最簡單的方法就是將所有文件複製到Web服務器上。然後,IIS將在第一次打印頁面時進行即時編譯(JIT),並即時編譯您的代碼。

RGDS,

保羅

-1
  1. 所有內容文件(即ASPX,ASCX,ASMX,ASAX,JS,CSS,HTM,JPG,GIF,PNG)和DLL需要部署到服務器。我建議使用Visual Studio「發佈...」生成菜單上的選項來爲你做這個。它可以部署到一個文件夾(如果你願意的話,你可以複製到其他地方),一個FTP站點或一個IIS虛擬目錄。

  2. 上傳您的.cs或.vb文件是沒有必要的。如果你這樣做,它仍然會工作,但它可能不安全。 IIS存在漏洞或系統管理員將會犯錯誤,並且您的源代碼將最終向公衆提供的可能性很小。

  3. 在Visual Studio中,您可以執行File - > New Web Setup Project並創建一個MSI來執行此操作。 This articleThis article有關於此選項的更多詳細信息。

+0

爲什麼上傳.cs和.vb文件是安全問題? – 2009-10-23 08:24:00

+1

我認爲是因爲你將源代碼發佈到不可信網絡。如果您的Web服務器受到威脅,您的源代碼也會受到影響...... – Paul 2009-10-23 09:43:55

+0

另外,如果IIS配置不當,它可能會提供您的源文件。這會顯示你沒有正確地轉義用戶生成的輸入,並讓你打開SQL注入或XSS攻擊。理論上講,任何系統管理員都不會愚蠢到讓這發生,但它確實發生。所以我不會向他們推薦他們上傳他們的源文件。 – d4nt 2009-10-23 11:04:53