哈希表插入失败。负载系数太高。 - ASP.NET 4.0 MVC3

2024-04-06

我们有一个在 F5 负载平衡服务器上运行的 ASP.NET 4.0 MVC3 应用程序。

我们收到了下面的异常。我们不在 Web 应用程序中执行多线程,但不知道 F5 负载平衡服务器是否可以考虑到该等式中。我们看到早期版本的 .NET 中发生异常的位置(大多数其他帖子涉及 .NET 2.0 和 3.5)。有人在 .NET 4.0 中遇到过这个问题吗?

该异常导致应用程序无法使用,因为登录后,如果不遇到异常,就无法加载页面。

其他已审核的链接:

  • 哈希表插入失败。负载系数太高。 - ASP.NET 2.0 https://stackoverflow.com/questions/505322/hashtable-insert-failed-load-factor-too-high-asp-net-2-0
  • 哈希表插入失败。负载系数太高。 .NET 2.0 SP2 https://stackoverflow.com/questions/1888072/hashtable-insert-failed-load-factor-too-high-net-2-0-sp2
  • WPF (.NET 4.0) 内部出现令人沮丧的错误:哈希表插入失败。负载率过高 https://stackoverflow.com/questions/7392992/frustrating-error-in-wpf-net-4-0-internals-hashtable-insert-failed-load-fac

2012-02-02 06:01:42,671 [26] 致命系统 [(null)] – 未处理的 XYZ 应用程序中发生异常。 System.InvalidOperationException:哈希表插入失败。负载率 太高。最常见的原因是多个线程写入 同时哈希表。在 System.Collections.Hashtable.Insert(对象键,对象n值,布尔值 添加)在 System.ComponentModel.TypeDescriptor.NodeFor(Type type, 布尔值 createDelegator) at System.ComponentModel.TypeDescriptor.GetProvider(类型类型)位于 System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptionProvider..ctor(类型 类型)在 System.Web.Mvc.ModelBinderDictionary.GetBinder(类型 modelType,IModelBinder FallbackBinder)位于 System.Web.Mvc.ControllerActionInvoker.GetModelBinder(ParameterDescriptor 参数描述符) at System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext 控制器上下文、参数描述符(参数描述符)位于 System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext 控制器上下文,动作描述符动作描述符)在 System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext 控制器上下文,字符串操作名称)位于 System.Web.Mvc.Controller.ExecuteCore() 位于 System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
在 System.Web.Mvc.MvcHandler.c__DisplayClass6.c__DisplayClassb.b__5() 在 System.Web.Mvc.Async.AsyncResultWrapper.c__DisplayClass1.b__0() 在 System.Web.Mvc.MvcHandler.c__DisplayClasse.b__d() 在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤, 布尔值&同步完成)

正如您从堆栈跟踪中看到的那样,它没有指向代码中的特定位置,这使得调试变得困难。

任何防止遇到此异常的建议将不胜感激。


这是一个不常见的问题,但它确实发生在很多人(包括我)身上。它似乎与任何特定的负载阈值无关,它只是“发生”,并且一旦发生,无论负载如何,它都会继续更频繁地发生。
解决方案:
临时:重置 IIS 并祈祷它不会再次发生
永久:从 Microsoft 获取补丁,如知识库文章 http://support.microsoft.com/kb/2576011或者等待 .Net 的下一个版本修复该问题(据报道已在 4.5 Beta 中修复)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

哈希表插入失败。负载系数太高。 - ASP.NET 4.0 MVC3 的相关文章

随机推荐