预编译的Azure Web App上的动态页面内容

时间:2017-09-10 19:01:19

标签: asp.net-mvc azure-web-sites

我即将推出Azure Web应用程序(又名Azure网站),并提出一个简单的问题。

我注意到当我从Visual Studio发布我的网站时,使用该网站存在相当大的延迟。每个页面(/控制器?)似乎只在首次访问时进行编译,因此它使网站至少在几分钟内感觉非常慢。我想避免这种情况,所以当我从VS构建和发布时,我使用了“预编译”选项。这似乎有效,虽然在发布后仍有一些初步的延迟,但它要好得多。

我的问题是:因为这是一个新网站,我们不断添加功能和修复错误,我想在我的主_Layout页面上有一个部分,我可以通过通知快速编辑(即“网站将在15分钟内进行维修。“)。问题是我不想通过整个构建/发布过程来获取该内容到网站。有没有办法可以在我的_Layout.cshtml页面中包含一些文件/内容(page_alert.html),可以在Azure App Service Editor中编辑?由于网站的预编译性质,我的所有.cshtml文件现在只是说“这是预编译工具生成的标记文件,不应该被删除!”在App Service Editor中。

谢谢!

2 个答案:

答案 0 :(得分:1)

选择“预编译”选项时,还可以选中“允许预编译的站点可更新”。然后,这将允许您更新将在运行中编译的单个.cshtml文件,而其余的仍然是预编译的。

有关详细信息,请参阅doc

答案 1 :(得分:0)

我认为我找到了一个可以在其他SO帖子中使用的解决方案。

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

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

我可以在App Service Editor中编辑somefile.html并且它可以正常工作