asp.net-mvc – 在本地PC上,IIS和浏览器使用大结果集最大化CPU
发布时间:2020-12-16 03:59:37 所属栏目:asp.Net 来源:网络整理
导读:我刚刚升级到VS 2013并且还启动了一个新的MVC项目,在我本地PC上进行调试时,IIS面临着几分钟内99%的CPU使用率. (发布和调试模式都发生)我刚刚意识到问题与 Linq Query返回的行数成正比.如果我使用Take(1)或Take(10)就可以了.如果我使用Take(100),则会出现问
我刚刚升级到VS 2013并且还启动了一个新的MVC项目,在我本地PC上进行调试时,IIS面临着几分钟内99%的CPU使用率. (发布和调试模式都发生)我刚刚意识到问题与
Linq Query返回的行数成正比.如果我使用Take(1)或Take(10)就可以了.如果我使用Take(100),则会出现问题.
这是我的actionresult(私人信息已更改): public ActionResult Summary(string daystoshow,DateTime? day = null) { int daysToShow = daystoshow.ToSafeInt(); if (daysToShow < 1) daysToShow = 2; if (day == null) day = Convert.ToDateTime("4/14/2014"); SummaryViewModel m = new SummaryViewModel(); string warnings = ""; var ef1 = new carshowEntities(); DateTime dayAtMidnight = Convert.ToDateTime(((DateTime)day).AddDays(daysToShow).ToShortDateString()); var diplayItems = (from x in ef1.islands join y in ef1.cars on x.serid equals y.serid where x.dt==12 join z in ef1.ITEMS on y.serviceno equals z.ITEMNO join x2 in ef1.islands on x.serid equals x2.serid where x2.dt==8 join i in ef1.INVOICES on x.carStyle equals i.carStyle where i.STATUS==8 where x.LiscenceDate > day && x.LiscenceDate < dayAtMidnight orderby x.LiscenceDate,y.serviceno,x.serid select new ReturnedItem() { CarOrderDate = (DateTime)x.LiscenceDate,serial = x.serid,ItemCode = y.serviceno,Description = z.Color,DateSold = (DateTime)x2.LiscenceDate,ID = i.IX_ID }).Take(100).ToList(); m.daystoshow = daysToShow; m.day = day; m.diplayItems = diplayItems; m.warnings = warnings; return View(m); } 我还没有找到任何描述这里确切情况的帖子. 1)当网站发布时,它可以很好地从服务器上运行. 2)在调试模式下运行MVC项目时CPU使用率高达99%. 3)如果我在本地发布,问题就不会发生. 4)在调试或发布模式下从VS运行时,IIS和IIS Express都会发生这种情况. 5)到目前为止,这个项目不会发生在其他网站上. 6)这是一个简单的项目,一个actionresult,一个页面有一个约200行的表,填充了Linq查询. 有没有办法让调试器至少告诉我它在做什么? 编辑: 经过进一步调查,我注意到如果我等待2分钟,CPU将从IIS返回,但那么Web浏览器(Firefox或Chrome)将占用99%的CPU再持续2分钟. 解决方法
我发现解决方案只是关闭“
Browser Link”,这是VS 2013中的一项新功能,经过大量的调试和搜索.
通过单击图标上看起来像刷新按钮的向下箭头,可以在工具栏中关闭浏览器链接. 浏览器链接是在浏览器本身中对页面进行更改的一种方式,这似乎是CPU密集型的,因此使用大量元素进行更改会导致CPU出现峰值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在会话中存储相当大量的数据是否可以?
- asp.net – 在Web.Config文件之外存储SMTP
- asp.net – AntiForgeryToken是否需要会话状态?
- asp.net – 如何限制文本框中允许的字符数?
- .NET Core采用的全新配置系统[7]: 将配置保存在数据库中
- asp.net – 无法在文本框中键入double
- asp.net – 使用redirectMode =“ResponseRewrite”的custo
- 找出ASP.NET WebForms中控件的生命周期的哪个阶段
- asp.net-mvc – 如何使用ASP.NET MVC 3编辑IEnumerable?
- asp.net-mvc – asp.net mvc – 如何强制执行控制器层超类型