我遇到 RazorEngine (版本 3.4.1.0 )的问题。
我使用Razor.Parse
方法在每隔几分钟启动一次的服务中使用非常简单的模板,并且它在大多数情况下都没有任何问题,但是它偶尔会抛出此异常我:
System.IO.FileNotFoundException:找不到 找不到文件' C:\ Users \ username \ AppData \ Local \ Temp \ cw3sv4yk.dll'。 文件名:' C:\ Users \ username \ AppData \ Local \ Temp \ cw3sv4yk.dll'
(cw3sv4yk
是随机生成的名称)
之前有没有人遇到过这个问题,如果有的话 - 任何有关解决方案的提示?
谢谢, Przemek
编辑:
我刚刚注意到我偶尔也会遇到这种情况:
RazorEngine.Templating.TemplateCompilationException:无法编译 模板。元数据文件 ' C:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ mscorlib.dll中' 无法打开 - '进程无法访问该文件,因为它 正在被另一个进程使用。' \ n \ n其他编译错误可能 已经发生了。检查Errors属性以获取更多信息。
EDIT_2: 还有一个例外,那就是不时被抛出:
System.ArgumentException:类名是必需的
答案 0 :(得分:0)
使用缓存模板的Razor.Parse
方法的重载版本解决了我们的问题:
/// <summary>
/// Parses and returns the result of the specified string template.
/// </summary>
/// <typeparam name="T">The model type.</typeparam>
/// <param name="razorTemplate">The string template.</param>
/// <param name="model">The model instance.</param>
/// <param name="cacheName">The name of the template type in the cache or NULL if no caching is desired.</param>
/// <returns>The string result of the template.</returns>
public static string Parse<T>(string razorTemplate, T model, string cacheName)