尝试登录安全目录时收到以下错误。据我所知,没有大的哈希表在使用中。用户登录信息位于web.config文件中。请注意,这发生在.NET 2.0中。我在.net 1.0或1.1环境中搜索并发现了对此的引用,但我还没有找到2.0 +的解决方案。
我需要弄清楚为什么会这样,所以我将来可以避免它。我可以重置服务器,也许它会消失,但我更愿意理解它为什么会发生。
以下是整个错误页面:
>应用程序中的服务器错误。Hashtable插入失败。负载系数 太高了。
描述:未处理的异常 在执行期间发生 当前的网络请求。请查看 堆栈跟踪以获取更多信息 错误及其来源 代码。
异常详细信息: System.InvalidOperationException: Hashtable插入失败。负载系数 太高了。
来源错误:
生成了未处理的异常 在执行当前 网络请求。有关的信息 异常的起源和位置 可以使用例外来识别 堆栈跟踪下面。
堆栈追踪:
[InvalidOperationException:Hashtable 插入失败。负载系数太高。] System.Collections.Hashtable.Insert(对象 key,Object nvalue,Boolean add) +2903977 System.Collections.Hashtable.set_Item(Object key,Object value)+11
System.ComponentModel.ReflectTypeDescriptionProvider.ReflectGetAttributes(类型 型号)+323
System.ComponentModel.ReflectedTypeData.GetAttributes() +36 System.ComponentModel.DefaultTypeDescriptor.System.ComponentModel.ICustomTypeDescriptor.GetAttributes() +50 System.ComponentModel.TypeDescriptor.GetAttributes(Type componentType)+26
System.Web.UI.ThemeableAttribute.IsTypeThemeable(类型 型号)+98
System.Web.UI.Control.ApplySkin(页 页)+49
System.Web.UI.Control.InitRecursive(控制 namingContainer)+2120286
System.Web.UI.Control.InitRecursive(控制 namingContainer)+198
System.Web.UI.Control.InitRecursive(控制 namingContainer)+198
System.Web.UI.Control.InitRecursive(控制 namingContainer)+198
System.Web.UI.Page.ProcessRequestMain(布尔 includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+834版本信息:Microsoft .NET 框架版本:2.0.50727.1433; ASP.NET版本:2.0.50727.1433
答案 0 :(得分:5)
答案 1 :(得分:2)
在.NET 4.0中,再次出现了同样的错误;它已在KB:2576011的修补程序中修复。它现在可以汇总到标准更新(尚未检查),但是:如果需要,可以从MS获得4.0的修补程序。
答案 2 :(得分:0)
我有一个类似的问题,在这里概述: HashTable Insert Failed. Load Factor Too High. .NET 2.0 SP2
但是,927579修复程序包含在.NET 2.0 SP1(http://support.microsoft.com/kb/945757)中,我们仍然遇到与上面列出的相同的问题。希望新的修补程序(http://code.msdn.microsoft.com/KB968432)将一劳永逸地解决它。
我无法保证,因为我还没有机会在我们的服务器上安装它,并且考虑到我们在最后一次之后没有再出现问题,那么即使它已经安装了我也不会不能说它是否有效!