Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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");
        }