在Visual Studio 2017中发布后如何发送一堆curl命令

Iskandar Reza |

我正在一个ASP.net MVC项目上工作,我注意到在发布Web应用程序时,IIS不会在命中控制器之前不会为视图建立缓存或任何东西。因此,换句话说,如果访客恰好是重新发布整个项目后的第一个人,则可能需要很长时间才能加载页面。

为了解决这个问题,我必须手动在项目中的视图上一次击中每个端点。当项目第一次启动时,这是一个简单的任务,但是正如您可以想象的那样,这是无法维护的。

我的问题是如何对项目中带有视图的端点执行一批curl命令?我不确定从哪里开始。是否有编程方式创建批处理命令并将其附加到AfterPublish事件?

亚历山大·圣安曼

您遇到的行为是由于IIS中的应用程序池启动模式引起的。与其实施AfterPublish事件,不如将其配置为应用程序池以执行您想要的事情,这可能更好。

启动模式

一些Web应用程序需要大量时间才能启动。默认情况下,IIS仅在收到第一个Web应用程序请求时启动工作进程。因此,对于需要较长时间初始化的Web应用程序,用户可能会看到较慢的响应。

对于此类应用程序,最好在IIS启动后立即启动工作进程。应用程序池具有startMode设置,将其设置为AlwaysRunning时,将在IIS启动后立即启动应用程序池的工作进程。

IIS 8在“应用程序池设置” UI中为您提供了此设置。

来源:https : //blogs.msdn.microsoft.com/vijaysk/2012/10/09/iis-8-whats-new-application-pool-settings/

如果您真的想在发布网站后执行这些操作,则必须了解有关Visual Studio构建过程的更多信息。该链接可以帮助您开始:https : //docs.microsoft.com/zh-cn/visualstudio/msbuild/how-to-extend-the-visual-studio-build-process?view=vs-2017

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章