我的小组正在使用RazorEngine生成各种网页。一个这样的模板大小约为200 KB。有大约60个令牌条目被替换。我可以看到模板中没有实际的Razor / C#逻辑。我们正在使用以下电话:
returnContent = Razor.Parse(content, model, cacheKey);
问题出在运行Windows 2008 R2的AWS服务器上,解析页面大约需要20秒。我甚至打破了Razor.Compile和Razor.Run的电话。 20秒来自Razor.Run。 AWS实例的大小合适(c3.xlarge)。没有任何东西在运行它似乎占用CPU或内存。
如果删除除1之外的所有@符号,则解析将减少到不到1秒。
当我在VS 2012下的笔记本电脑上使用60个令牌引用执行相同的代码和模板时,它会在不到一秒的时间内返回。
关于为什么RazorEngine在服务器上服用这么长时间的想法?感谢。
答案 0 :(得分:0)
忽略这个问题。我们无意中在每次来电中重置了TemplateService。这会导致模板在每次调用时重新编译。