我正在Visual 2015 RC中运行一个MVC 6应用程序。当应用程序启动内存使用级别时,在调试模式下大约为100 in。
当我单击任何后续链接并因此加载一个视图时,就会出现问题--内存使用量上升而不会下降,最终导致内存不足异常。下面显示了在一分钟左右的时间里,单击一个非常简单的联系人页面大约10次后的内存使用情况,每次内存使用量都会上升一点,10分钟后不会下降,其仍然是140 at。
联系人页控制器的代码:
public IActionResult Settings()
{
ViewBag.Message = "Your contact page.";
return View();
}
联系人页视图的代码:
@{
ViewBag.Title = "Contact";
}
<h2>@ViewBag.Title.</h2>
<h3>@ViewBag.Message</h3>
<address>
One Microsoft Way<br />
Redmond, WA 98052-6399<br />
<abbr title="Phone">P:</abbr>
425.555.0100
</address>
<address>
<strong>Support:</strong> <a href="mailto:Support@example.com">Support@example.com</a><br />
<strong>Marketing:</strong> <a href="mailto:Marketing@example.com">Marketing@example.com</a>
</address>
对于一个小视图来说,这似乎不是一个问题,但是在我的应用程序中加载一个列表页面时,使用情况会显著提高,在加载5或6个页面之后,应用程序会崩溃,出现内存不足的异常。
我拍了几张内存使用的快照,如下所示。我尝试过调试以查看内存峰值在哪里,并且在加载视图时似乎也是如此。
有没有人在新的MVC项目中经历过这种情况?有没有办法找出是什么占据了内存并释放出来的?抱歉,这很简单,我一直在绞尽脑汁想找出问题所在!
发布于 2015-07-09 00:22:08
在mvc github上发布了一个问题之后,团队报告说是浏览器链接功能导致了问题。
如果将app.UseBrowserLink();从Startup.cs类(默认的第99行)中删除,它将修复问题并大大加快应用程序的速度。
https://stackoverflow.com/questions/30980948
复制相似问题