首页 > Web开发 > 详细

.Net调用接口处理时间过长,前端访问超时解决方案

时间:2021-08-19 14:59:16      阅读:20      评论:0      收藏:0      [点我收藏+]

直接上代码

        public TaskInfo AutoUpClassTest(AutoUpClassInput input)
        {
            if (!string.IsNullOrEmpty(input.TaskId))
            {
                //查询状态
                var ts = _cache.Get("_AutoUpClass_" + input.TaskId);
                if (ts != null)
                    return (TaskInfo)ts;
                else
                    return new TaskInfo { Status = 2, TaskId = input.TaskId, Msg = "失败" };
            }
            else
            {
                //首次
                string g = Guid.NewGuid().ToString();
                Task.Run(() =>
                {
                    try
                    {
                        //漫长的操作
                        for (int i = 0; i < 30; i++)
                        {
                            Thread.Sleep(1000);
                            _cache.Set("_AutoUpClass_" + g, new TaskInfo { Status =0, Msg = "执行中", TaskId = g ,Progress=$"{i}/{30}" });
                        }
                       
                        //设置完成
                        _cache.Set("_AutoUpClass_" + g, new TaskInfo { Status = 1, Msg = "成功",TaskId = g });
                    }
                    catch (Exception)
                    {
                        //设置失败
                        _cache.Set("_AutoUpClass_" + g, new TaskInfo { Status = 2, Msg = "失败" ,TaskId = g });
                    }
                });

                var cacheEntryOptions = new MemoryCacheEntryOptions()
                    .SetSlidingExpiration(TimeSpan.FromMinutes(10));
                //设置查询
                var taskInfo = new TaskInfo { Status = 0, Msg = "执行中", TaskId = g };
                _cache.Set("_AutoUpClass_" + g, taskInfo, cacheEntryOptions);
                return taskInfo;
            }
        }

 执行效果

技术分享图片

 

 

技术分享图片

 

.Net调用接口处理时间过长,前端访问超时解决方案

原文:https://www.cnblogs.com/wangyinlon/p/15160497.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!