第 2 次、第 3 次 ASP.NET MVC 5 的慢速调试

Posted

技术标签:

【中文标题】第 2 次、第 3 次 ASP.NET MVC 5 的慢速调试【英文标题】:Slow Debugging of ASP.NET MVC 5 On 2nd, 3rd time 【发布时间】:2014-06-29 16:47:04 【问题描述】:

我在 MS VS 2013 Pro 中从 LocalHost 运行 ASP.NET MVC 应用程序(在调试模式下)。应用程序连接到远程数据库。

由于某种原因,应用程序“一夜之间”变得慢了很多。直到大约一天前,这一切都顺利进行。现在由于某种原因,当我启动机器(冷启动)并运行应用程序时,它可以完美运行。但是只是说我关闭应用程序并停止调试然后再次运行应用程序,它真的超慢。如果我重新启动机器然后运行应用程序,一切都会恢复正常。

所以基本上,它是第二次调试(无需重新启动整台机器),它超、超慢。

任何帮助都会很棒!

在调试窗口中是:

“iisexpress.exe”(CLR v4.0.30319:DefaultDomain):已加载“C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:DefaultDomain):加载“C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Web.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:DefaultDomain):加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:DefaultDomain):加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll '。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:DefaultDomain):加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:DefaultDomain):加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:域 2):已加载“C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):已加载“C:\Windows\Microsoft.Net\assembly\GAC_32\System.Web\v4.0_4.0.0。 0__b03f5f7f11d50a3a\System.Web.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\系统.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0。 0__b77a5c561934e089\System.Core.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.ApplicationServices\v4.0_4。 0.0.0__31bf3856ad364e35\System.Web.ApplicationServices.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0。 0__b03f5f7f11d50a3a\System.Configuration.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0。 0__b77a5c561934e089\System.Xml.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Caching\v4.0_4。 0.0.0__b03f5f7f11d50a3a\System.Runtime.Caching.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Caching\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Runtime.Caching.dll '。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Utilities.v4.0\ v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.Build.Utilities.v4.0.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: DefaultDomain): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Build.Utilities.v4.0\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.Build .Utilities.v4.0.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.JScript\v4.0_10.0.0。 0__b03f5f7f11d50a3a\Microsoft.JScript.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\6a721505\90d0028d_2258cf01\System.Web.WebPages.Razor.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Web.PageInspector.Loader\ v4.0_1.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Web.PageInspector.Loader.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\22324533\7092298d_2258cf01\WebMatrix.WebData.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\021ff24a\e0638e8c_2258cf01\System.Web.Optimization.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\95a37a1e\20a1068d_2258cf01\System.Web.WebPages.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\731993f0\b0ad008d_2258cf01\System.Web.WebPages.Deployment.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\79ff7061\30c4608c_2258cf01\System.Web.Mvc.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.WebPages.Deployment\v4。 0_1.0.0.0__31bf3856ad364e35\System.Web.WebPages.Deployment.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\c6f94af9\d026df8d_2258cf01\Microsoft.Owin.Host.SystemWeb.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\63a74605\401bd68c_2258cf01\Microsoft.Web.Helpers.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualStudio.Web.PageInspector.Runtime\ v4.0_2.1.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Web.PageInspector.Runtime.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\84014a7d\c0fe7c8c_2258cf01\System.Web.Razor.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.Web.Infrastructure\v4.0_1。 0.0.0__31bf3856ad364e35\Microsoft.Web.Infrastructure.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\e1d9295c\9058168d_2258cf01\WebMatrix.Data.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0。 0__b03f5f7f11d50a3a\System.Drawing.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\App_global.asax.yvi9nkec.dll'。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\56b15d59\4084c3ac_d26dcf01\OfficiumWebApp.dll'。已加载符号。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activation\v4.0_4。 0.0.0__31bf3856ad364e35\System.ServiceModel.Activation.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Extensions\v4.0_4。 0.0.0__31bf3856ad364e35\System.Web.Extensions.dll'。已加载符号。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Internals\v4.0_4。 0.0.0__31bf3856ad364e35\System.ServiceModel.Internals.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Users\Sai Lee\AppData\Local\Temp\Temporary ASP.NET Files\root\8049ceb4 \41eadfc5\assembly\dl3\cf53efd6\306c338f_2258cf01\Owin.dll'。无法找到或打开 PDB 文件。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0。 0__b03f5f7f11d50a3a\Microsoft.CSharp.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0。 0__b77a5c561934e089\System.Data.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Services\v4.0_4。 0.0.0__b03f5f7f11d50a3a\System.Web.Services.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_32\System.EnterpriseServices\v4.0_4.0.0。 0__b03f5f7f11d50a3a\System.EnterpriseServices.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.IdentityModel\v4.0_4.0.0。 0__b77a5c561934e089\System.IdentityModel.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4。 0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel\v4.0_4.0.0。 0__b77a5c561934e089\System.ServiceModel.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Web\v4.0_4。 0.0.0__31bf3856ad364e35\System.ServiceModel.Web.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 “iisexpress.exe”(CLR v4.0.30319:/LM/W3SVC/34/ROOT-1-130443759999540000):已加载“C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Activities\v4.0_4.0.0。 0__31bf3856ad364e35\System.Activities.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 'iisexpress.exe' (CLR v4.0.30319: /LM/W3SVC/34/ROOT-1-130443759999540000): 加载'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel.Activities\v4.0_4。 0.0.0__31bf3856ad364e35\System.ServiceModel.Activities.dll'。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。

【问题讨论】:

看起来您的应用程序在退出时没有释放内存。 重启VS有帮助吗? 不附加调试器是否也很慢? 不行,我要重启整台机器 如果你停止'慢'项目并切换到另一个项目,另一个项目是否也很慢? 【参考方案1】:

尝试应用以下步骤来解决问题:

1)转到工具>选项>源代码管理并设置当前源代码管理...:无

2) 转到工具 > 选项 > 环境 > 同步设置,然后通过取消选中复选框来删除此选项。

3) 清理以下缓存文件夹中的内容(不要删除这些文件夹,而是只删除它们的内容)并重新启动Visual Studio

清理 WebSiteCache 文件夹中的内容(可以在 C:\Users\%USERNAME%\AppData\Local\Microsoft\WebSiteCache )

清理 Temporary ASP.NET Files 文件夹中的内容(可以在 C:\Users\%USERNAME%\AppData\Local\Temp\Temporary 中找到ASP.NET 文件)

注意:如果您启用了Hardware Acceleration,或者如果您使用Microsoft Visual Studio 2015Visual Studio 2013 中的默认视觉体验设置,您可能会遇到间歇性性能问题、产品崩溃或呈现问题.为了解决这些问题,请转到 工具 > 选项 > 环境 > 常规并应用以下设置:

欲了解更多信息,请访问: You experience performance issues, product crashes, or rendering issues in Visual Studio 2015 and Visual Studio 2013.

更新:如果问题与调试有关,请尝试Visual Studio debugging/loading very slow上的解决方法

希望这会有所帮助...

【讨论】:

【参考方案2】:

检查并可能暂时禁用每次尝试扫描 DLL 文件的防病毒软件(例如 Windows Defender)。此外,如果您“只有”4GB RAM,并且认为您需要更多 RAM 内存,大约 8GB 或 16GB

【讨论】:

【参考方案3】:

我认为您的问题的解决方案可以建立在您的编译器“只是我的代码”配置文件的设置中。请记住,您正在从 VS 运行您的解决方案——您的例外是这样想的:

Module is optimized and the debugger option 'Just My Code' is enabled..

它确实经常重复。并尝试将您的应用程序托管在真正的 IIS 中,而不是 IIS Express 中。只是为了确定。

【讨论】:

以上是关于第 2 次、第 3 次 ASP.NET MVC 5 的慢速调试的主要内容,如果未能解决你的问题,请参考以下文章

(转)表单和HTML辅助方法 - ASP.NET MVC 3

毕业设计第四次任务书

将 asp.net Mvc 从 3 降级到 2

Asp.Net Mvc通用后台管理系统,bootstrap+easyui+权限管理+ORM

.net mvc每次请求时第一个执行的方法是?在那个具体类里面?

《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构