Visual Studio 2013 - 使用 ViewBag 属性调试 MVC 代码非常缓慢且无法使用

本文关键字:缓慢 非常 代码 MVC 2013 Studio 使用 ViewBag 调试 属性 Visual | 更新日期: 2023-09-27 18:36:56

我正在尝试最新的Visual Studio,但是使用ViewBag动态变量调试最基本的MVC应用程序让我很头疼。

我在 32 位 Windows 8 操作系统下运行 Visual Studio 2013,并进行了全新安装并应用了所有可用更新。

我创建了一个新的 ASP.NET Web 应用程序(.NET Framework 4.5 - 新解决方案),其中包含 MVC 的文件夹和核心引用,之后我添加了带有一些元素代码的示例家庭控制器:

dynamic d1 = 1;
dynamic d2 = 2;
ViewData["Vd1"] = 1;
ViewData["Vd2"] = 2;
ViewBag.Vb1 = 1;
ViewBag.Vb2 = 2;

在第一行命中断点并单步到第二行,直到 ViewBag 属性正常工作(立即) - 然后,在"输出"窗口中,我得到:

Microsoft.CSharp 中发生了类型为 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' 的第一次机会异常.dll

。然后走到第二行(ViewBag.Vb2...)花了几秒钟。我测试了不同的动态变量,以确保问题出在 ViewBag 属性上。

是什么原因导致异常和在 IIS Express 下调试如此缓慢?大量使用 ViewBag 属性使调试成为一场噩梦!

再次调用调试下的脚本不会导致异常,并且调试工作正常,因为调试符号都已加载(猜测)。

我尝试了很多不同的建议,可以在 Stack Overflow 和网络上使用,但没有一个有效!

Visual Studio 2013 - 使用 ViewBag 属性调试 MVC 代码非常缓慢且无法使用

关于提高Visual Studio 2013 ASP .NET应用程序(MVC和Webforms)的调试速度的一个被忽视且从未报告的问题是禁用浏览器链接。 这是VS 2013中的一个新功能,它会导致大量的开销,并导致页面加载速度非常慢(在大多数情况下为5-10秒)。 禁用它会使其恢复到 Visual Studio 2012 的速度。

有关如何禁用它,请参阅此处:

http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx

对我有用的是选择Internet Explorer以外的其他浏览器。 如果我使用Chrome或Firefox,调试速度快如闪电。 关闭浏览器链接对我的IE浏览器没有帮助。

这是有关如何在调试时更改为其他浏览器的链接。

http://www.asp.net/visual-studio/overview/2013/using-browser-link#browser-refresh