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

2024-03-24

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

我针对上述文章采取的步骤

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

2)安装nuget包RazorGenerator.Mvc

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

Images Extensions and Updated - Razor GeneratorNuget Package - RazorGenerator.MvcIndex.cshtml

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

好吧,那么我认为这不起作用,让我们尝试其他方法...让我们尝试一下 Visual Studio 开箱即用的预编译功能,正如这篇文章的答案所建议的:在 asp .net mvc 5 中预编译剃刀视图 https://stackoverflow.com/questions/33674473/pre-compile-razor-views-in-asp-net-mvc-5,但仍然没有预编译的cshtml文件。

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

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

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

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

UPDATE

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

以及文件底部的操作

将“temp”更改为“/”也没有帮助。

UPDATE 2

因此,在周末离开计算机后,我今天早上注意到我选中了“允许预编译站点可更新”。取消选中该值后,我开始在 bin 文件夹中看到预编译的视图。因此,我发布我的应用程序时认为最多等待 5-10 秒才能提供应用程序(通常在第一次请求后只需要大约 2 秒),但仍然需要 25-30 秒。这是 IIS 的预期行为吗?


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 使用 DirectX 播放音频时出现加载程序锁定异常

    我正在尝试使用 DirectX dll 播放音频文件 Audio FromFile Message 1 mp3 Play 但检测到加载器锁异常 如下所示 我不是分析堆栈跟踪的专家 如何分析和解决装载机锁问题 检测到 LoaderLock M
  • 当 iframe 存在时,Android webview 将无法正确处理事件

    我遇到以下问题 我有一个 web 视图 在其中加载一个 iframe 我通过 javascript 修改 插入文本 内容文档 问题是 当内容变得太多 网络视图变得可滚动 并且当用户滚动时 触摸事件将无法正确处理 即用户将点击某处 光标将出现
  • 如何解决hadoop中的“文件只能复制到0个节点,而不是1个”?

    我有一个简单的 hadoop 作业 可以抓取网站并将其缓存到 HDFS 映射器检查 HDFS 中是否已存在 URL 如果存在 则使用它 否则下载页面并将其保存到 HDFS 如果下载页面时遇到网络错误 404 等 则完全跳过 URL 不会写入
  • 备份 git 存储库中的所有分支,保留已重新定位和强制的内容

    我正在寻找一种解决方案来备份多个共享 git 存储库 每个存储库都有多个分支 并且某些分支会被重新设置基址并被强制 我知道这违反了最佳实践 但这是我现在必须处理的事情 我在想一个简单的git clone mirror然后定期git remo
  • 连接整数变量最惯用的方法是什么?

    编译器似乎没有推断出整数变量作为字符串文字传递到concat 宏 所以我找到了stringify 将这些整数变量转换为字符串文字的宏 但这看起来很难看 fn date year u8 month u8 day u8 gt String co
  • 加载我的包时 Symfony 容器没有扩展

    我有一个捆绑包 在一段时间内运行良好 但是 我必须向其中添加一些自定义配置参数 因此我在包的 config yml 中编写了一些行 如下所示 acme my bundle special params param 1 param 2 配置在
  • 带有模块的 Ruby 类命名空间:为什么我会收到带有双冒号的 NameError 而不是模块块?

    我正在处理许多预先存在的文件 类和模块 并尝试为框架的不同组件提供更好的命名空间 我一直使用模块作为命名空间的方式 主要是因为这似乎是标准约定 并且能够 包含 框架的不同部分可能很有用 问题在于 全局命名空间下有大量本应存在于模块下的类 例
  • 什么是编程中的“序列化”对象? [复制]

    这个问题在这里已经有答案了 我到处都看到过 序列化 这个词 但从未解释过 请解释一下这是什么意思 序列化通常是指将抽象数据类型转换为字节流的过程 有时也序列化为文本 XML 或 CSV 或其他格式 重要的是它是一种简单的格式 无需理解即可读
  • 使用 ui 路由器实例化作用域和控制器

    我对控制器何时实例化感到困惑 另外 在嵌套状态时控制器如何实例化 我可能会感到困惑范围如何附加到视图和控制器 也就是说 如果每个视图都有自己的控制器和范围 或者它们共享相同的范围 有人可以解释一下控制器何时被实例化吗 在嵌套路由下 所有视图
  • 获取 Gallery Intent 选择的图像路径时出错(Android 6 - 某些设备)

    当用户从图库中选择时 有意 我试图获取图像的路径 它一直工作正常 因为一些用户注意到 Android 6 0 无法做到这一点 我尝试过不同的方法 有些解决方案可以在 Android 6 0 的模拟器中运行 但不能在我的 Android 6
  • 如何退出 Android 应用程序?

    我刚刚读到 您只需调用以下命令即可退出 Android 应用程序 finish 然而 这种情况并非如此 当我这样做时 我收到以下错误 PackageInstallationReciever Remove data local tmp com
  • 为 SSL 配置 MAMP

    好吧 各位编码员 我正在尝试在我的 mac 上使用 SSL 配置 MAMP 以用于开发目的 我已阅读并尝试了以下说明 http www emersonlackey com article mamp with ssl https http w
  • Groovy 执行“cp *”shell 命令

    我想复制文本文件并且仅复制来自src to dst groovy 000 gt cp src txt dst execute text gt groovy 000 gt 您可以看到命令执行时没有错误 但文件src test txt不会被复制
  • 隐藏 webBrowser 控件中的滚动条

    我正在研究 Windows 窗体的 HTML 显示控件 我使用 webBrowser 控件作为控件的基础 我需要隐藏 webBrowser 滚动条 因为它看起来很糟糕 永远不会被使用 并且使控件看起来像网页 从而破坏了布局 目前 滚动条在控
  • .Net core 3:手动添加框架依赖项

    自从3 0版本发布以来 现在可以在 net core中编写WPF应用程序 这真是太棒了 另一方面 在 net core 上 依赖系统现在依赖于完整的框架 不再有多个 nuget 依赖项 除非您想要在同一个应用程序中混合使用 WPF 和 AS
  • Java,BorderLayout.CENTER,获取JPanel的宽度和高度

    我正在使用 Swing 和 AWT 针对听众 制作一个小程序 我在获取 JPanel 名为 Chess 的类 的大小时遇到 问题 我的布局 public class Main extends JFrame implements MouseL
  • 在 Typo3 中实现 HTML 模板,内容不起作用或者是我的错误

    我尝试在typo3中实现html模板 通过本教程 http wiki typo3 org Templated Tutorial Basics http wiki typo3 org Templating Tutorial Basics 所有
  • 使用 xsi:nil="true" C# 序列化删除 xml 元素

    我有一个 XML 其中包含一些值 有时可能存在空值 如下所示 我根本不希望在 XML 中列出带有 null 的节点 元素已设置IsNullable true在课堂里 任何建议 因为我在谷歌中尝试了很多东西 没有任何帮助
  • 更改 pandas 中的默认选项

    我想知道是否有任何方法可以更改 pandas 的默认显示选项 我想在每次运行 python 时更改显示格式和显示宽度 例如 pandas options display width 150 我看到默认值是硬编码的pandas core co
  • 部署.NET Web应用程序时如何获取预编译的razor文件?

    我的任务是改进服务器上应用程序的 IIS 预加载和初始化 我已经在IIS上实现了应用程序初始化和应用程序预加载 但回收 重新启动应用程序池时仍然有很长的等待时间 我找到了一些有用的链接 我认为这些链接对我有帮助 但我仍然没有获得预编译的 R