哈希表插入失败。加载因子太高。 - asp.NET 4.0 MVC3 [英] Hashtable insert failed. Load factor too high. - asp.NET 4.0 MVC3

查看:1199
本文介绍了哈希表插入失败。加载因子太高。 - asp.NET 4.0 MVC3的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有运行于F5负载均衡的服务器的ASP.NET 4.0应用程序MVC3

We have an ASP.NET 4.0 MVC3 application running on F5 load balanced servers.

我们收到下面的异常。我们不做多线程在我们的Web应用程序,但不知道是否F5负载平衡服务器可以分解为方程。我们看到在早期版本的.NET(大多数其他职位涉及.NET 2.0和3.5)发生异常。有没有人遇到过这个问题,.NET 4.0?

We received the exception below. We do not do multi-threading in our web application, but don't know if the F5 load balancing servers could be factoring into the equation. We see where the exception occurs on earlier versions of .NET (Most of the other posts deal with .NET 2.0 and 3.5). Has anyone experienced this issue with .NET 4.0?

呈现的应用程序不可用,因为登录时可以加载任何页面的异常没有遇到例外。

The exception rendered the application unusable because upon login no page could be loaded without encountering the exception.

其他链接已经审查:

  • <一个href="http://stackoverflow.com/questions/505322/hashtable-insert-failed-load-factor-too-high-asp-net-2-0">Hashtable插入失败。加载因子太高。 - ASP.NET 2.0
  • <一个href="http://stackoverflow.com/questions/1888072/hashtable-insert-failed-load-factor-too-high-net-2-0-sp2">HashTable插入失败。加载因子太高。 .NET 2.0 SP2
  • <一个href="http://stackoverflow.com/questions/7392992/frustrating-error-in-wpf-net-4-0-internals-hashtable-insert-failed-load-fac">Frustrating在WPF(.NET 4.0)内部错误:哈希表插入失败。加载因子太高
  • Hashtable insert failed. Load factor too high. - ASP.NET 2.0
  • HashTable Insert Failed. Load Factor Too High. .NET 2.0 SP2
  • Frustrating error in WPF (.NET 4.0) internals: Hashtable insert failed. Load factor too high

2012-02-02 06:01:42671 [26]致命系统[(空)] - 未处理   发生在XYZ应用程序异常。   System.InvalidOperationException:哈希表插入失败。负荷系数   太高。最常见的原因是多线程写入   同时哈希表。在   System.Collections.Hashtable.Insert(对象的关键,对象n值,布尔   添加)在System.ComponentModel.TypeDescriptor.NodeFor(类型类型,   布尔createDelegator)在   System.ComponentModel.TypeDescriptor.GetProvider(类型类型)在   System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptionProvider..ctor(类型   型)在System.Web.Mvc.ModelBinderDictionary.GetBinder(类型   modelType,IModelBinder fallbackBinder)在   System.Web.Mvc.ControllerActionInvoker.GetModelBinder(ParameterDescriptor   parameterDescriptor)在   System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext   controllerContext,ParameterDescriptor parameterDescriptor)在   System.Web.Mvc.ControllerActionInvoker.GetParameterValues​​(ControllerContext   controllerContext,ActionDescriptor actionDescriptor)在   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext   controllerContext,串actionName)在   System.Web.Mvc.Controller.ExecuteCore()在   System.Web.Mvc.ControllerBase.Execute(RequestContext中的RequestContext)
  在   System.Web.Mvc.MvcHandler&LT;> C_的 DisplayClass6&LT;> C 的_DisplayClassb.b_的 5()   在   System.Web.Mvc.Async.AsyncResultWrapper&LT;> C 的_DisplayClass1.b_的 0()   在   System.Web.Mvc.MvcHandler&LT;> C 的_DisplayClasse.b__d()   在   System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()   在System.Web.HttpApplication.ExecuteStep(IExecutionStep一步,   布尔和放大器; completedSynchronously)

2012-02-02 06:01:42,671 [26] FATAL System [(null)] – An unhandled exception occurred in the XYZ application. System.InvalidOperationException: Hashtable insert failed. Load factor too high. The most common cause is multiple threads writing to the Hashtable simultaneously. at System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) at System.ComponentModel.TypeDescriptor.NodeFor(Type type, Boolean createDelegator) at System.ComponentModel.TypeDescriptor.GetProvider(Type type) at System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptionProvider..ctor(Type type) at System.Web.Mvc.ModelBinderDictionary.GetBinder(Type modelType, IModelBinder fallbackBinder) at System.Web.Mvc.ControllerActionInvoker.GetModelBinder(ParameterDescriptor parameterDescriptor) at System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) at System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) at System.Web.Mvc.Controller.ExecuteCore() at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
at System.Web.Mvc.MvcHandler.<>c_DisplayClass6.<>c_DisplayClassb.b_5() at System.Web.Mvc.Async.AsyncResultWrapper.<>c_DisplayClass1.b_0() at System.Web.Mvc.MvcHandler.<>c_DisplayClasse.b__d() at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

你可以从堆栈跟踪看到它并没有指向我们的code一个特定的地方使其难以调试。

As you can see from the stack trace it does not point to a particular place in our code making it difficult to debug.

任何意见,prevent遇到这样的例外是大大AP preciated。

Any advice to prevent encountering this exception would be greatly appreciated.

推荐答案

这是一种不常见的问题,但它确实发生了很多人(包括我在内)。它似乎不与任何特定的负载阈值被链接,它只是发生,一旦它确实它继续发生更频繁不论负载的。
解决方案:
临时:重置IIS和交叉手指不会再发生
永久:获取补丁微软在知识库文章描述或等待对于.NET的下一个版本在那里会是固定的(据报道已经被固定在4.5测试版)

This is an uncommon issue but it does happen for many people (me included). It does not seem to be linked with any specific load threshold, it just "happens" and once it does it continues to happen more frequently regardless of the load.
Solutions:
Temporary: Reset IIS and cross your fingers it doesn't happen again
Permanent: Get the patch from microsoft described in the KB article or wait for the next version of .Net where it is going to be fixed (it is reported to already been fixed in 4.5 Beta)

这篇关于哈希表插入失败。加载因子太高。 - asp.NET 4.0 MVC3的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆