我们有一个在 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(使用前将#替换为@)