首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查看asp.net mvc与asp.net核心mvc目录编译时差

查看asp.net mvc与asp.net核心mvc目录编译时差
EN

Stack Overflow用户
提问于 2019-11-17 12:41:26
回答 1查看 97关注 0票数 2

我对asp.net mvc (4.7.2)和asp.net核心mvc (2.2)之间的异常情况非常好奇。

我所做的是:

创建空的asp.net mvc项目,添加从默认的"HomeController“中克隆的新"TestController”,复制主控制器的视图,并将视图目录命名为“测试”。

在asp.net核心mvc项目上做同样的事情。

运行asp.net mvc项目并更改url /Test/Index (视图与Home/Index完全相同),第一次运行大约需要300 as。如果刷新页面,运行时间为5-6毫秒。

我在asp.net核心mvc项目上做的完全一样,每次刷新的时候都要花费30 ms的时间和5-6 ms的时间。

我测试了几个案例,我认为这都是关于“第一次创建X型控制器”。

我在asp.net工作了5-6年,但我现在注意到了这一点。你可以说这没有问题,只有300毫秒,但在资源不足的机器上,它需要大约30秒。

这是怎么回事?我怎么才能把这个时间减少到asp.net核心时间(~30 is )?

编辑:--原来它与创建控制器无关。是关于视图目录的。我将TestController视图路径的索引操作更改为"~/Views/Home/ Index“,它打开得很快(如果我以前从这个文件夹呈现了任何视图),但是如果我”第一次从X目录(或子目录)呈现视图,它的工作速度就像我前面提到的那样缓慢“。

我认为这一切都是关于编译视图(或视图目录)。但我还没弄明白。

因此,如果我将所有视图文件移动到同一个目录,这种情况永远不会发生。但这将是非常混乱和不正确的做法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-18 07:17:02

我终于想出来了。这都是关于在启动应用程序时编译视图(而不是在运行时)。

以及它加速了你的网站(特别是如果你有太多的浏览量)

解决方案:

*.csproj"

  • Paste

  • 卸载项目

  • 右键单击卸载的项目并转到>“编辑这些设置到文件的底线

将此代码<Target Name="BeforeBuild"> <!-- Remove obj folder --> <RemoveDir Directories="$(BaseIntermediateOutputPath)" /> <!-- Remove bin folder --> <RemoveDir Directories="$(BaseOutputPath)" /> </Target>

  • Reload project

  • Paste到全局asax > Application_Start

siteId = "1";//您可以从applicationhost.config var appVirtualDir = $"/LM/W3SVC/{siteId}/ROOT";var clientBuildManager =新ClientBuildManager(appVirtualDir,null,new ClientBuildManagerParameter { PrecompilationFlags = PrecompilationFlags.Default,});clientBuildManager.PrecompileApplication();

  • 运行项目
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58900538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档