2011-10-14 46 views
2

我有一個小型的內部應用程序,我在爭論自己爲什麼我不應該將整個源文件夾複製到生產環境中,就像Publish一樣,它將.cs文件編譯爲.dll文件。爲網站部署二進制DLL而不是源代碼有什麼好處?

但我無法想到任何現實的好處,除了減少直接邏輯改變生產的誘惑。你怎麼看?

+4

永遠不要低估減少了開發者破解誘惑的好處! – tonycoupland

回答

1

兩兩件事:

  1. 作爲antisanity所指出的,它可以讓你驗證所有網站上的網頁實際上編譯,朝走一段很長的路要走在它們變得很遠之前捕捉一些錯誤。
  2. 無論如何,網站最終會在第一次訪問時編譯這些文件。通過對它們進行預編譯,您可以節省第一次加載的時間,這會讓您的應用程序對少數用戶感覺更加快速。
2

它消除了誘惑,只是改變生產一個小東西...

此外,確保對惡意修改的代碼,它增加了「構建」和「部署」,它可以與額外的步驟被用作自然QA減速帶,它增加了啓動時間和十億個其他的東西。

1

那麼,只有當你談論的是觀點時,我才能同意你的看法。如果你在談論控制器,我想你需要編譯它們才能運行:)。

好了,玩笑歸玩笑,我是一個完整的二進制部署主要爲:

  • 是確保我的代碼編譯(至少)
  • 加快視圖生成(或第一次編譯)
  • 簡化補丁管理(我只是提供一個DLL,而不是整個Web應用程序)

問候

M.

1

有許多的原因,你應該公佈你的應用程序:

  1. 這將有更好的表現;
  2. 你知道代碼編譯;
  3. 它更乾淨(沒有.cs文件混亂的文件夾);
  4. 通過不暴露源代碼來提高安全性;
  5. 您可以將應用程序打包部署到測試,分期和生產
相關問題