Example #1
0
        /// <summary>
        /// 测试 RunCompileFromCached 方法(强类型模型)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <string> TestRunCompileStronglyFromCached(TestStronglyModel model)
        {
            var runCompileTemplate = @"Hello @Model.Name
@foreach(var item in Model.Items)
{
    <p>@item</p>
}";

            var str1 = _viewEngine.RunCompileFromCached(runCompileTemplate, model);
            var str2 = runCompileTemplate.RunCompileFromCached(model);
            var str3 = await _viewEngine.RunCompileFromCachedAsync(runCompileTemplate, model);

            var str4 = await runCompileTemplate.RunCompileFromCachedAsync(model);

            var isEqual = (str1 == str2) && (str3 == str4) && (str1 == str4);

            if (!isEqual)
            {
                throw new Exception("多次编译之后模板内容相等");
            }

            if (!File.Exists(Path.Combine(AppContext.BaseDirectory, "templates", $"~{MD5Encryption.Encrypt(runCompileTemplate)}.dll")))
            {
                throw new Exception("没找到模板缓存 .dll");
            }

            return(str1);
        }
Example #2
0
        /// <summary>
        /// 测试 RunCompile 方法(强类型模型)
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public async Task <string> TestRunCompileStrongly(TestStronglyModel model)
        {
            var runCompileTemplate = @"Hello @Model.Name
@foreach(var item in Model.Items)
{
    <p>@item</p>
}";

            var str1 = _viewEngine.RunCompile(runCompileTemplate, model);
            var str2 = runCompileTemplate.RunCompile(model);
            var str3 = await _viewEngine.RunCompileAsync(runCompileTemplate, model);

            var str4 = await runCompileTemplate.RunCompileAsync(model);

            var isEqual = (str1 == str2) && (str3 == str4) && (str1 == str4);

            if (!isEqual)
            {
                throw new Exception("多次编译之后模板内容相等");
            }

            return(str1);
        }