【问题标题】:Dynamic Page Content on Precompiled Azure Web App预编译的 Azure Web 应用程序上的动态页面内容
【发布时间】:2017-09-10 19:01:18
【问题描述】:

我正要启动一个 Azure Web 应用程序(又名 Azure 网站)并有一个简短的问题。

我注意到,当我从 Visual Studio 发布我的网站时,使用该网站时出现了相当大的延迟。每个页面(/控制器?)似乎只有在第一次访问时才在编译,所以它让网站至少在几分钟内感觉很慢。我想避免这种情况,所以当我从 VS 构建和发布时,我使用了“预编译”选项。这似乎奏效了,尽管发布后仍有一些初始滞后,但比以前好得多。

我的问题是:因为这是一个新站点,我们不断添加功能和修复错误,我想在我的主 _Layout 页面上有一个部分,我可以通过通知快速编辑它(即“站点将15 分钟后停机进行维护。”)。问题是我不想通过整个构建/发布过程来将内容上传到站点。有没有一种方法可以在我的 _Layout.cshtml 页面中包含一些文件/内容(page_alert.html),这些文件/内容可以在 Azure 应用服务编辑器之类的东西中进行编辑?由于网站的预编译性质,我所有的 .cshtml 文件现在都只是说“这是由预编译工具生成的标记文件,不应删除!”在应用服务编辑器中。

谢谢!

【问题讨论】:

    标签: asp.net-mvc azure-web-app-service


    【解决方案1】:

    当您选择预编译选项时,您还可以选中“允许预编译站点可更新”。这将允许您更新将即时编译的单个 .cshtml 文件,而其余文件仍处于预编译状态。

    详情请见doc

    【讨论】:

    • 感谢您的回复。我试过了。然而,最初的“启动”延迟又回来了,几乎和我没有预编译时一样长。第一次访问页面时,有很大的延迟(30 秒)。我能找到消除延迟的唯一方法是取消选中此选项。
    • 这很令人费解,我无法解释。您可能还想试试RazorGenerator
    • 可能原因是每个页面依赖布局页面。因此,如果您更改它,它会使其他一切无效,您将失去所有好处。
    【解决方案2】:

    我想我找到了一个可以从另一个 SO 帖子中使用的解决方案。

    https://stackoverflow.com/a/14634578/1359788

    @Html.Raw(File.ReadAllText(Server.MapPath("~/content/somefile.html")))
    

    我可以在应用服务编辑器中编辑 somefile.html 并且它可以工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多