- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
通过 Visual Studio 发布到 Azure 时,您可以选择预编译页面。有很多选项可以解释它的作用,但没有说明其权衡。
Microsoft 网站上有一些信息,但对于上述几点,他们并没有真正深入研究。
https://msdn.microsoft.com/en-us/library/hh475319(v=vs.110).aspx
最佳答案
我发现有关这些选项的信息分散在 Microsoft 文档的不同页面上。这是我通过将这些东西放在一起发现的:
<小时/>这可能会回答您的问题:
If a compiled site is updatable, UI content can be updated without recompiling the site. When a Web site is updatable, the content files remain in their original folders and only the associated code files are merged. If the site is not updatable, .ascx, .master, and .skin content files are removed from their original folder. ASP.NET .aspx files are replaced with a marker file that has no content. UI content and code are merged in this case.
来源:https://msdn.microsoft.com/en-us/library/bb397866.aspx
可更新站点存储 UI 内容的源文件,但不会对其进行编译。仅预编译非 UI 代码。这使得更新网站变得非常容易,因为您可以更改一个网页的代码,而无需预编译整个网站。此选项的缺点是网页无法预编译,并且每次用户请求页面时都会编译网页(减去可能发生的缓存)。这将降低页面加载的性能。
<小时/>将文件合并在一起使部署更容易,因为需要上传的文件更少。它还允许更多优化,因为编译器可以对多个网页进行批量优化。但是,在合并所有内容时,每次更改时都必须完全重新部署站点(而不是仅部署已更新的程序集)。
以下是每个选项的权衡概要:
将所有输出合并到一个程序集中:将所有内容合并到一个文件中可以使部署更轻松,因为只需上传一个文件。所有内容都编译在同一个包中,这允许批量优化,从而使页面加载速度更快。然而,如果网站的一部分发生变化,则必须重新上传整个网站。如果您的网站不是很大,那将是一个不错的选择。
将每个单独的文件夹输出合并到自己的程序集中:使部署更容易,同时避免每次更改时都需要上传整个网站。只需要重新编译和重新部署包含更新代码的文件夹。
将所有页面和控制输出合并到单个程序集中:将所有 UI 放入同一个程序集中,而不合并与 UI 无关的代码。这使您可以更新与 UI 无关的代码,而无需重新部署 UI 代码。
不合并:代码文件已编译,但所有 UI 内容均未预编译。因此,每次用户请求页面时都会编译网页 UI(减去可能发生的缓存),这会使页面加载时间更长。但是,由于 UI 未编译,因此如果您需要编辑一个网页,您可以将特定文件的新版本上传到生产服务器上,而无需重新编译网站的任何部分。这对于无法完全重新部署的大型网站来说非常有用。
不要合并。为每个页面和控件创建一个单独的程序集:将每个页面编译到它自己的程序集中。您拥有预编译代码的速度,但代价是阻止编译器在多个页面上进行批量优化(页面加载时间稍长)。
有关 ASP.NET 网站合并和编译的更多信息:
关于visual-studio - Azure 发布的不同合并设置有何权衡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45040028/
我正在寻找想法/方向来解决我遇到的问题: 上下文:我有 1000 天的每小时时间序列数据(即每天 24 小时的一行特征)。对于每一个小时,我都试图预测一个目标值。现在,我更关心一天中某些时间的准确性(
我正在阅读有关 Scala 的 actor 的信息,所以假设我们有类似的内容: object Worker extends Actor { def act() { while(true)
在 Yii2 中,使用 Html::activeDropDownList,我可以以如下形式提交数据: 'multiple', 'class' => 'multiselect', ]
已结束。此问题不符合 Stack Overflow guidelines .它目前不接受答案。 我们不允许提出有关书籍、工具、软件库等方面的建议的问题。您可以编辑问题,以便用事实和引用来回答它。 关闭
我正在研究潜在的免费/付费应用程序的硬件/软件要求(最终目标是移动 Java 应用程序)。 应用程序将从这个简单的目标开始:给定数据库中相关单词的列表,以便能够对单个字符串输入进行单词补全。 换句话说
我是一名优秀的程序员,十分优秀!