相关疑难解决方法(0)

部署 .NET Web 应用程序时如何获得预编译的 razor 文件?

我的任务是改进我们服务器上的 IIS 预加载和应用程序初始化。我已经在IIS上实现了应用程序初始化和应用程序预加载,但是在回收/重新启动应用程序池时仍然有很长的等待时间。我找到了一些我认为对我有帮助的有用链接,但我仍然没有获得预编译的 Razor 视图。我试图按照 RazorGenerator 的这篇文章进行操作,但它似乎不起作用。 http://blog.davidebbo.com/2011/06/precompile-your-mvc-views-using.html

我为上述文章采取的步骤

1) 从这里安装 VS 扩展:https : //marketplace.visualstudio.com/items?itemName=DavidEbbo.RazorGenerator

2)安装nuget包RazorGenerator.Mvc

3) 将剃刀视图上的输出更改为“无”,并将“自定义工具”设置为“RazorGenerator”,如上面文章所述。

图片 扩展和更新 - Razor GeneratorNuget 包 - RazorGenerator.Mvc索引.cshtml

我进行了清理和重建,但没有看到我的 cshtml 文件的 .cs 文件。

好的,那么我认为这不起作用,让我们尝试其他方法......让我们尝试一下 Visual Studio 开箱即用的预编译功能,正如这篇文章的答案所暗示的那样:在 asp .net mvc 中预编译 razor 视图5,但仍然没有预编译的 cshtml 文件。

我想要完成的是如何事先生成这些文件,以便 IIS 不必。这是回收/重启后 IIS 临时缓存文件的图像

在此处输入图片说明

这是浏览器请求应用程序后的图像

IIS 编译

最后在发布时,我使用了 Visual Studio 预编译(对于上面的两个图像),所以我也附上了我的发布选项图像。

发布选项

好的...现在我认为这是不可能的,但是然后在这里找到另一个 SO 解决方案:VS2013 不编译 ASP.NET MVC5 视图,但再次发布时,我仍然没有在我的应用程序的临时 IIS 缓存中看到 cshtml 文件的编译版本。是否有任何人都可以建议实际预编译我的应用程序中的 cshtml 文件的可靠解决方案,以便它们不会在第一个浏览器请求时生成?我什至在我的 web 配置中进行了应用程序初始化并安装了所需的 IIS 功能,甚至可以看到它确实向我的应用程序发出了“假”请求,但是 cshtml 文件不会根据该“假”请求进行编译。对不起,如果我附上了很多信息,但似乎我在这里问的每个问题我都没有提供我的实际问题...=(希望这个问题可以达到目的。谢谢!

更新

上面的最后一篇文章建议更改 csproj 文件,因此我也尝试过并附上该文件的屏幕截图。

MVC 构建视图

以及文件底部的 Action

构建动作

将“temp”更改为“/”也无济于事。

更新 2

因此,在周末离开计算机后,我今天早上注意到我选中了“允许预编译的站点可更新”。取消选中该值后,我开始在 …

iis asp.net-mvc precompile razor

5
推荐指数
0
解决办法
1967
查看次数

Azure ASP.NET预热和部署插槽

我正在使用ASP.NET MVC 5和Azure Premium应用服务,并将AlwaysRunning选项设置为"on".

我为Web应用程序创建了一个部署插槽,部署了我的新版本,打开了插槽URL,一切都快速稳定.我交换到生产环境,在交换操作完成后,Web应用程序很慢,就像我手动部署到PROD一样.我不得不等待超过一分钟让我的应用程序再次运行.根据我读到的内容,我认为该应用程序在交换后会变热,但它没有成功.

交换后为什么这么慢?甚至像验证表单那样没有点击数据库的页面.

更新:切换到V2计划(SSD存储)后,应用程序将在不到2分钟内重新启动:)

asp.net-mvc azure warm-up azure-deployment-slots

1
推荐指数
1
解决办法
1186
查看次数