public void TestEqVersion() { var tm = new TemplateMethod(); SiteInfo site = new SiteInfo(); site.Copyright = "©2014 - 2015"; site.Description = ""; site.Host = "localhost"; site.KeyWords = ""; site.Logo = ""; site.Name = "xxx"; site.SiteDirectory = ""; site.Theme = "Blue"; site.ThemeDirectory = "theme"; site.Title = "jntemplate测试页"; site.Url = string.Concat("http://localhost"); if (!string.IsNullOrEmpty(site.SiteDirectory) && site.SiteDirectory != "/") { site.Url += "/" + site.SiteDirectory; } site.ThemeUrl = string.Concat(site.Url, "/", site.ThemeDirectory, "/", site.Theme); string basePath = new System.IO.DirectoryInfo(System.Environment.CurrentDirectory).Parent.Parent.FullName; string path = basePath + "\\templets\\default"; string content = System.IO.File.ReadAllText(path + "\\questionlist.html"); FileInfo[] assFlies = new DirectoryInfo(basePath + "\\dll").GetFiles("JinianNet.JNTemplate*.dll"); string result = DateTime.Now.ToString(); Stopwatch s = new Stopwatch(); for (int i = 0; i < assFlies.Length; i++) { Assembly ass = System.Reflection.Assembly.LoadFile(assFlies[i].FullName); object ctx = ass.CreateInstance("JinianNet.JNTemplate.TemplateContext"); object data = ctx.GetType().GetProperty("TempData").GetValue(ctx, null); MethodInfo mi = data.GetType().GetMethod("Push"); mi.Invoke(data, new object[] { "func", tm }); mi.Invoke(data, new object[] { "Site", site }); ctx.GetType().GetProperty("CurrentPath").SetValue(ctx, path, null); s.Restart(); for (int j = 0; j < 100; j++) { object t = ass.CreateInstance("JinianNet.JNTemplate.Template");; t.GetType().GetProperty("Context").SetValue(t, ctx, null); t.GetType().GetProperty("TemplateContent").SetValue(t, content, null); object r = t.GetType().GetMethod("Render", new Type[0]).Invoke(t, new object[0] { }); if (j == 99) { //System.IO.File.WriteAllText(basePath + "\\html\\jnt"+ assFlies[i].Name +".html", r.ToString()); } } s.Stop(); result += "\r\n:" + assFlies[i].Name + "耗时:" + s.ElapsedMilliseconds.ToString() + "毫秒"; System.Threading.Thread.Sleep(200); } System.IO.File.WriteAllText(basePath + "\\html\\TestResult.txt", result); }
public void TestEqVersion() { var tm = new TemplateMethod(); SiteInfo site = new SiteInfo(); site.Copyright = "©2014 - 2015"; site.Description = ""; site.Host = "localhost"; site.KeyWords = ""; site.Logo = ""; site.Name = "xxx"; site.SiteDirectory = ""; site.Theme = "Blue"; site.ThemeDirectory = "theme"; site.Title = "jntemplate测试页"; site.Url = string.Concat("http://localhost"); if (!string.IsNullOrEmpty(site.SiteDirectory) && site.SiteDirectory != "/") { site.Url += "/" + site.SiteDirectory; } site.ThemeUrl = string.Concat(site.Url, "/", site.ThemeDirectory, "/", site.Theme); string basePath = new System.IO.DirectoryInfo(System.Environment.CurrentDirectory).Parent.Parent.FullName; string path = basePath + "\\templets\\default"; string content = System.IO.File.ReadAllText(path + "\\questionlist.html"); FileInfo[] assFlies = new DirectoryInfo(basePath + "\\dll").GetFiles("JinianNet.JNTemplate*.dll"); string result = DateTime.Now.ToString(); Stopwatch s = new Stopwatch(); for (int i = 0; i < assFlies.Length; i++) { Assembly ass = System.Reflection.Assembly.LoadFile(assFlies[i].FullName); object ctx = ass.CreateInstance("JinianNet.JNTemplate.TemplateContext"); object data = ctx.GetType().GetProperty("TempData").GetValue(ctx, null); MethodInfo mi = data.GetType().GetMethod("Push"); mi.Invoke(data, new object[] { "func", tm }); mi.Invoke(data, new object[] { "Site", site }); ctx.GetType().GetProperty("CurrentPath").SetValue(ctx, path, null); s.Restart(); for (int j = 0; j < 100; j++) { object t = ass.CreateInstance("JinianNet.JNTemplate.Template"); ; t.GetType().GetProperty("Context").SetValue(t, ctx, null); t.GetType().GetProperty("TemplateContent").SetValue(t, content, null); object r = t.GetType().GetMethod("Render", new Type[0]).Invoke(t, new object[0] { }); if (j == 99) { //System.IO.File.WriteAllText(basePath + "\\html\\jnt"+ assFlies[i].Name +".html", r.ToString()); } } s.Stop(); result += "\r\n:" + assFlies[i].Name + " 版本号:" + ass.GetName().Version + "耗时:" + s.ElapsedMilliseconds.ToString() + "毫秒"; System.Threading.Thread.Sleep(200); } if (System.IO.File.Exists(basePath + "\\html\\TestResult.txt")) { if (System.IO.File.GetLastWriteTime(basePath + "\\html\\TestResult.txt").Date == DateTime.Now.Date) { result = System.IO.File.ReadAllText(basePath + "\\html\\TestResult.txt") + "\r\n" + result; } } System.IO.File.WriteAllText(basePath + "\\html\\TestResult.txt", result); }