在尝试解析简单的HTML页面时,我们得到Expression太长或复杂的错误。 以下是错误:
System.Reflection.TargetInvocationException:抛出了异常 通过调用的目标。 ---> RazorEngine.Templating.TemplateCompilationException:无法编译 模板。表达式太长或太复杂而无法编译
可能发生了其他编译错误。检查Errors属性 欲获得更多信息。在 RazorEngine.Compilation.DirectCompilerServiceBase.CompileType(TypeContext 上下文) C:_git \ RazorEngine \ SRC \核心\ RazorEngine.Core \编译\ DirectCompilerServiceBase.cs:线 100点 RazorEngine.Templating.TemplateService.CreateTemplateType(字符串 razorTemplate,TypeTypeType)in C:_git \ RazorEngine \ SRC \核心\ RazorEngine.Core \模板\ TemplateService.cs:线 256在RazorEngine.Templating.TemplateService.CreateTemplate(String razorTemplate,Type templateType,Object model)in C:_git \ RazorEngine \ SRC \核心\ RazorEngine.Core \模板\ TemplateService.cs:线 127 at RazorEngine.Templating.TemplateService.Parse(String razorTemplate,对象模型,DynamicViewBag viewBag,String cacheName) 在 C:_git \ RazorEngine \ SRC \核心\ RazorEngine.Core \模板\ TemplateService.cs:线 435 at RazorEngine.Razor.Parse [T](String razorTemplate,T model)in c:_git \ RazorEngine \ src \ Core \ RazorEngine.Core \ Razor.cs:第263行
答案 0 :(得分:0)
首先使用Razor.Compile然后使用Razor.Run解决了这个问题。当你使用Razor.Parse时,它将创建一个dll文件,永远不会丢弃它。我们在服务器上进行了压力测试,最终得到了数百万个由Razor在Temp文件夹中创建的未知dll文件。首先使用Compile,您只创建一个dll文件。 Razor.Run将只使用编译模板和Parse模板。