【发布时间】:2020-03-12 23:52:32
【问题描述】:
我对 asp.net mvc (4.7.2) 和 asp.net core mvc (2.2) 之间的异常情况非常好奇。
我在做什么:
创建空的 asp.net mvc 项目,添加从默认“HomeController”克隆的新“TestController”,复制主控制器视图并将 View 目录命名为“Test”。
在 asp.net core mvc 项目上做同样的事情。
运行 asp.net mvc 项目并将 url 更改为 /Test/Index(视图与 Home/Index 完全相同),第一次运行大约需要 300 毫秒。如果我刷新页面,运行大约需要 5-6 毫秒。
我在 asp.net core mvc 项目上做的完全一样,第一次运行大约需要 30 毫秒,每次刷新大约需要 5-6 毫秒。
我测试了几个案例,我认为这都是关于“第一次创建 X 类型的控制器”。
我在 asp.net 上工作了 5-6 年,但我现在注意到了这一点。你可以说只要 300 毫秒没问题,但在资源不足的机器上需要大约 30 秒。
这是怎么回事?我怎样才能将这个时间减少到 asp.net 核心时间(~30ms)?
编辑: 事实证明它与控制器的创建无关。这是关于视图的目录。我用“~/Views/Home/Index”更改了 TestController 视图路径的索引操作,它打开得很快(如果我之前从这个文件夹渲染了任何视图),但是如果我 “第一次从 X 目录渲染视图(或子目录),正如我所提到的,它运行缓慢。”
我认为这完全是关于编译视图(或视图目录)。但我还没弄明白。
因此,如果我将所有视图文件移动到同一目录,这种情况永远不会发生。但这会很混乱,感觉不对。
【问题讨论】:
标签: c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-core