2011-10-14 44 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. 您可以将应用程序打包部署到测试,分期和生产
相关问题