Dir*_*oer 5 publish azure visual-studio precompile
通过Visual Studio发布到Azure时,可以选择预编译页面。有很多选项可以解释它的功能,但是却没有权衡取舍。
Microsoft网站上有一些信息,但是在上述几点上,他们并没有真正涉足其中。
https://msdn.microsoft.com/zh-CN/library/hh475319(v=vs.110).aspx
我在Microsoft文档的不同页面上找到了有关这些选项的信息。这是通过将所有内容放在一起而发现的:
这可能会回答您的问题:
如果已编译的网站是可更新的,则可以在不重新编译网站的情况下更新UI内容。网站可更新时,内容文件保留在其原始文件夹中,并且仅合并了相关的代码文件。如果站点不可更新,则将从其原始文件夹中删除.ascx,.master和.skin内容文件。ASP.NET .aspx文件替换为没有内容的标记文件。在这种情况下,UI内容和代码将合并。
来源:https : //msdn.microsoft.com/en-us/library/bb397866.aspx
可更新的站点存储UI内容的源文件,并且不会对其进行编译。仅非UI代码是预编译的。这使更新站点变得非常容易,因为您可以更改一个网页的代码,而不必预先编译整个网站。此选项的缺点是无法对网页进行预编译,并且每次用户请求页面时都会对其进行编译(减去可能发生的缓存)。这将降低页面加载的性能。
将文件合并在一起使部署更容易,因为上传的文件较少。由于编译器可以在多个网页上进行批量优化,因此还可以进行更多优化。但是,合并所有内容时,必须在每次更改时完全重新部署站点(与仅部署已更新的程序集相比)。
以下是每个选项的权衡取舍:
将所有输出合并到一个程序集中:将所有内容合并到一个文件中使部署更加容易,因为只有一个文件要上传。所有内容都在同一程序包中编译,这可以进行批处理优化,从而使页面加载更快。但是,如果网站的一部分发生更改,则必须重新上传整个网站。如果您的网站不是很大,那将是一个不错的选择。
将每个单独的文件夹输出合并到自己的程序集中:简化部署,同时避免每次更改都需要上载整个站点。只有包含更新代码的文件夹才需要重新编译和重新部署。
将所有页面和控件输出合并到单个程序集中:将所有UI置于同一程序集中,而不合并与UI不相关的代码。这使您可以更新与UI不相关的代码,而不必重新部署UI代码。
不要合并:代码文件已编译,但并非所有UI内容都已预编译。因此,每次用户请求页面时都会编译网页UI(减去可能发生的缓存),这会使页面加载时间更长。但是,由于未编译UI,因此,如果您需要编辑一个网页,则可以在生产服务器上上载特定文件的新版本,而不必重新编译网站的任何部分。这对于无法完全重新部署的大型网站很有用。
不要合并。为每个页面和控件创建一个单独的程序集: 将每个页面编译成自己的程序集。您具有预编译代码的速度,但是却以阻止编译器在多个页面上进行批优化(以稍长的页面加载时间)为代价。
有关asp.net网站的合并和编译的更多信息:
| 归档时间: |
|
| 查看次数: |
643 次 |
| 最近记录: |