为网站部署二进制dll而不是源代码的好处是什么?



我有一个小的内部应用程序,我反对自己为什么我不应该把整个源文件夹复制到生产中,因为应该发布,它将。cs文件编译为。dll。

但是我想不出任何实际的好处,除了减少对生产进行直接逻辑改变的诱惑。你觉得呢?

它消除了在生产中只改变一件小事的诱惑…

同时,它保护代码免受恶意更改,它在"构建"one_answers"部署"之间增加了额外的步骤,这可以用作自然的QA减速带,它增加了启动时间和其他十亿件事。

主要有两点:

  1. 正如antisanity所指出的,它可以让你验证你网站上的所有页面都是真正编译的,这对在它们发展到很远之前捕获一些错误有很大的帮助。
  2. 无论如何,网站最终会在第一次访问这些文件时编译它们。通过预编译它们,您将节省第一次加载时的时间,这将使您的应用程序感觉对一些用户的响应更快。

嗯,只有当你只讨论视图时,我才同意你的观点。如果你说的是控制器,我猜你需要编译它们才能运行:)。

好的,不开玩笑,我支持一个完整的二进制部署,主要用于:

  • 确保我的代码编译(至少)
  • 加速视图生成(或第一次编译)
  • 简化补丁管理(我只提供一个dll,而不是整个web应用程序)

m .

嗯,首先……它可以确保你的网站编译。

除此之外,查看Hanselman的Web部署做得很棒:如果你正在使用XCopy,你做错了

发布应用程序的原因有很多:

  1. 性能会更好;
  2. 你知道代码可以编译;
  3. 它更干净(没有.cs文件杂乱的文件夹);
  4. 不公开源代码带来的一些安全好处;
  5. 您可以将应用程序打包以部署到测试、登台和生产

最新更新