public void GetPiMapListWithoutCatchTest() { string runType = "GetPiMapList无缓存方式"; Console.WriteLine(runType); List <UserDto> users = new List <UserDto>(); Stopwatch sw = new Stopwatch(); sw.Start(); var exp = ExpressionHelper.CreateExpression <ApiDto>(a => new { a.Area, a.Controller, a.Action, a.AllowAnonymous, a.ApiLevel, a.MaybeDeleted, a.Note }); var unexp = ExpressionHelper.CreateExpression <ApiDto>(a => new { a.Id, a.AddUser, a.AddDate, a.LastUpdateUser, a.LastUpdateDate }); int curCount = 0; for (int i = 0; i < runCount; i++) { JcLogHelper.WriteLog($"正在执行:{i + 1}"); DtoMappingHelper.GetPiMapListWithCatch <ApiDto>(exp); DtoMappingHelper.GetPiMapListWithCatch <ApiDto>(null, unexp); DtoMappingHelper.GetPiMapListWithCatch <ApiDto>(exp, unexp); //curCount--; } while (curCount > 0) { Thread.Sleep(1); continue; } sw.Stop(); JcLogHelper.WriteLog($"{runType},执行{runCount}次,共耗时{sw.ElapsedMilliseconds}Ms"); }
public void GetPiMapListTest_MultiThread() { string runType = "GetPiMapList使用缓存方式"; Console.WriteLine(runType); List <UserDto> users = new List <UserDto>(); Stopwatch sw = new Stopwatch(); sw.Start(); var exp = ExpressionHelper.CreateExpression <ApiDto>(a => new { a.Area, a.Controller, a.Action, a.AllowAnonymous, a.ApiLevel, a.MaybeDeleted, a.Note }); var unexp = ExpressionHelper.CreateExpression <ApiDto>(a => new { a.Id, a.AddUser, a.AddDate, a.LastUpdateUser, a.LastUpdateDate }); int curCount = 0; for (int i = 0; i < runCount; i++) { while (curCount > 5) { Thread.Sleep(1); continue; } JcLogHelper.WriteLog($"正在执行:{i + 1}"); curCount++; Task t = new Task(() => { try { DtoMappingHelper.GetPiMapList <ApiDto>(exp); DtoMappingHelper.GetPiMapList <ApiDto>(null, unexp); DtoMappingHelper.GetPiMapList <ApiDto>(exp, unexp); } catch (Exception ex) { JcLogHelper.WriteLog($"执行异常:{ex.Message}"); } curCount--; }); t.Start(); } while (curCount > 3) { Thread.Sleep(10); continue; } sw.Stop(); JcLogHelper.WriteLog($"{runType},执行{runCount}次,共耗时{sw.ElapsedMilliseconds}Ms"); }