2009-02-02 1 views
6

Я получил следующую ошибку при попытке войти в защищенный каталог. Насколько я знаю, нет больших хеш-таблиц в использовании. Информация для входа пользователя находится в файле web.config. Обратите внимание, что это происходит в .NET 2.0. Я искал и нашел ссылки на это, встречающиеся в средах .net 1.0 или 1.1, но я не нашел решения для этого в 2.0+.Ошибка в Hashtable. Слишком высокий коэффициент загрузки. - ASP.NET 2.0

Мне нужно выяснить, почему это произошло, поэтому я могу избежать этого в будущем. Я мог бы просто сбросить сервер и, возможно, уйти, но я бы предпочел понять, почему это произошло.

Здесь вся страница об ошибке, как показано ниже:

Server Error in '/' Application.

Hashtable insert failed. Load factor too high.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: Hashtable insert failed. Load factor too high.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[InvalidOperationException: Hashtable insert failed. Load factor too high.] System.Collections.Hashtable.Insert(Object key, Object nvalue, Boolean add) +2903977 System.Collections.Hashtable.set_Item(Object key, Object value) +11
System.ComponentModel.ReflectTypeDescriptionProvider.ReflectGetAttributes(Type type) +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(Type type) +98
System.Web.UI.Control.ApplySkin(Page page) +49
System.Web.UI.Control.InitRecursive(Control namingContainer) +2120286
System.Web.UI.Control.InitRecursive(Control namingContainer) +198
System.Web.UI.Control.InitRecursive(Control namingContainer) +198
System.Web.UI.Control.InitRecursive(Control namingContainer) +198
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +834

Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433

+0

Вы когда-нибудь выясняли, как это произошло? Наш сайт просто получил удар, но я не знаю, как его воспроизвести. Если он может быть воспроизведен, я бы знал, исправление, описанное ниже, действительно исправляет его. Спасибо. – HitLikeAHammer

ответ

5

Следующие адреса исправления этот (и другие) вопросы.

http://support.microsoft.com/?id=927579

(информация получены из here)

+0

Я нашел, что один в моем поиске, но не был уверен, что это было правильное исправление. вы столкнулись с этой проблемой и используете это исправление? –

+0

Я столкнулся с этим раньше. Я нашел ту же ссылку, и она, похоже, решила ее. По крайней мере, он никогда не возвращался ... Это не обязательно то же самое, что разрешать его :) YMMV –

+0

(Конечно, это всего лишь несколько дней, но прикоснитесь к дереву!) –

0

Я имел подобный вопрос, описанный здесь: HashTable Insert Failed. Load Factor Too High. .NET 2.0 SP2

Однако 927579 исправление было включено в .NET 2.0 с пакетом обновления 1 (http://support.microsoft.com/kb/945757), и мы по-прежнему получили ту же проблему, что и выше. Надеемся, что новое исправление (http://code.msdn.microsoft.com/KB968432) решит его раз и навсегда.

Я не могу ручаться за это, поскольку у меня еще не было возможности установить его на нашем сервере, и, учитывая, что у нас не было повторения проблемы после последнего времени, даже если оно было установлено, я не сможет сказать, работает ли это или нет!

+0

968432 убил нашу установку .net, и нам пришлось полностью переустановить .net. Это не означает, что это не сработает для кого-то другого, но имейте в виду, что для этого может потребоваться более 5 минут поддержки! – Town

2

В .NET 4.0 эта ошибка повторялась; он был исправлен в исправлении с KB:2576011. Теперь он может быть свернут в стандартные обновления (не проверены), но: исправление для 4.0 доступно из MS, если это необходимо.

+0

Я только что испытал эту проблему в Microsoft Dynamics CRM Email Router, которая должна использовать хеш-таблицы в нескольких потоках внутри для обработки почты. –