0

我正在使用RazorEngine以下内容解析模板:

string parsedText = Razor.Parse(template, model, "cache");

首先,如果我没有将第三个参数指定为“缓存”,则对该方法的任何调用都将花费 500 - 1000 毫秒,考虑到该方法被频繁调用,这是一个很大的时间。传递该参数后,第一次需要 500 - 1000 毫秒,但任何后续调用都需要可忽略不计的时间(0-1 毫秒)。

这是在 Asp.Net MVC web 应用程序的上下文中执行的。但是,一旦请求被刷新,第一次又需要 500 -1000 毫秒。

任何想法为什么需要这么长时间,可以做什么?

我正在使用 RazorEngine 3.2.0.0 和 .Net 4.5。

4

2 回答 2

1

该请求需要很长时间,因为必须编译剃须刀页面......

阅读此预编译剃须刀页面

你好

于 2013-04-16T18:55:33.150 回答
0

The issue was the third parameter - cacheName. This must be a unique cache key, per unique template.

I changed this to a different one each time based on the template, and it is now working perfectly and blazingly fast.

The issue was that I was unit testing it with just one template, however in the actual environment, the template was changing. The cache name key was static, hence the template cache was being invalidated all the time.

于 2013-04-17T10:51:34.843 回答