QC MM发来一个bug, 说是公告的发布非常慢,在测试站点几乎1分钟之后才有反应。
看下我本机站点, 差不多也要二三十秒。
如何判断哪里的时间超了正常值?
DateTime dt1 = DateTime.Now;
// 中间处理过程
DateTime dt2 = DateTime.Now;
int seconds1 = dt2.Subtract(dt1).Seconds;
//中间处理过程
DateTime dt3 = DateTime.Now;
int seconds2= dt3.Subtract(dt2).Seconds;
//其它类似
string str = string.Format("step 1: {0}\nstep 2:{1}", seconds1,seconds2); //断点到此处即可知各过程的时间消耗
上面只查清了问题: 公告验证、保存并不费时, 只是公告的分发费时(要传给多人,人越多越慢)。
但一般来说, 保存完之后页面就应该立即响应了, 公告的分发并不是需要立即处理的。
此处就想到了多线程!
System.Threading.Thread th = new System.Threading.Thread(SendNoticeView);//SendNoticeView为方法名
th.IsBackground = true;
th.Start();
搞定了!以后这些玩意都是秒杀!