小编And*_*rew的帖子

避免VBCSCompiler对Roslyn驱动的ASP.NET Razor MVC视图的影响?

为了在MVC5的Razor视图中支持C#6,我们通过web.config打开了Roslyn编译器平台:

<system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
    </compilers>
</system.codedom>
Run Code Online (Sandbox Code Playgroud)

但是,在生产部署之后,每个视图/控制器似乎都有明显的"第一次加载"延迟,这比没有启用此编译器时更糟糕.

重要的是,此延迟是您从部署的新站点获得的常规JIT延迟的补充.页面明显较慢,而VBCSCompiler.exe似乎在后台运行以"进一步编译"这些页面.

是否有预编译/优化此情况的最佳实践,以消除部署后的首次加载运行时延迟?理想情况下,VBCSCompiler.exe在部署发生后未运行,并在构建时执行.

我已经看到了aspnet_compiler.exe的提及,并遇到了StackExchange.Precompilation(请参阅https://blog.stackoverflow.com/2015/07/announcing-stackexchange-precompilation/)并想知道这是否是正确的修复方法.

有没有人对这个特殊问题有任何经验?谢谢.

c# asp.net performance razor roslyn

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

标签 统计

asp.net ×1

c# ×1

performance ×1

razor ×1

roslyn ×1