हमारे पास एक एएसपी.NET 4.0 एमवीसी 3 एप्लीकेशन है जो F5 लोड संतुलित सर्वर पर चल रहा है।हैशटेबल सम्मिलन विफल रहा। लोड कारक बहुत अधिक है। - एएसपी.नेट 4.0 एमवीसी 3
हमें नीचे अपवाद प्राप्त हुआ। हम अपने वेब एप्लिकेशन में बहु-थ्रेडिंग नहीं करते हैं, लेकिन यह नहीं जानते कि F5 लोड संतुलन सर्वर समीकरण में फैक्टरिंग कर सकते हैं या नहीं। हम देखते हैं कि .NET के पुराने संस्करणों पर अपवाद होता है (अधिकांश अन्य पोस्ट .NET 2.0 और 3.5 के साथ सौदा करते हैं)। क्या किसी ने इस मुद्दे को .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: 42,671 [26] गंभीर सिस्टम [(शून्य)] - XYZ एप्लिकेशन में एक अनचाहे अपवाद हुआ। सिस्टम। अविश्वसनीय अपवाद अपवाद: हैशटेबल सम्मिलन विफल रहा। लोड फैक्टर बहुत अधिक है। सबसे आम कारण हैशटेबल को एक साथ कई धागे लिख रहा है। System.ComponentModel.TypeDescriptor.GetProvider (प्रकार प्रकार) पर System.Collections.Hashtable.Insert (वस्तु कुंजी, वस्तु nvalue, बूलियन ऐड) System.ComponentModel.TypeDescriptor.NodeFor पर (प्रकार प्रकार, बूलियन createDelegator) पर पर System.ComponentModel.DataAnnotations.AssociatedMetadataTypeTypeDescriptionProvider..ctor (प्रकार प्रकार) System.Web.Mvc.ModelBinderDictionary.GetBinder पर (प्रकार modelType, IModelBinder fallbackBinder) System.Web.Mvc.ControllerActionInvoker.GetModelBinder पर (ParameterDescriptor parameterDescriptor) सिस्टम.Web.Mvc.ControllerActionInvoker.GetParameterValue (ControllerContext नियंत्रक कॉन्टेक्स्ट, पैरामीटर डिस्क्रिप्टर paramete System.Web.Mvc.ControllerActionInvoker.GetParameterValues (ControllerContext controllerContext, ActionDescriptor actionDescriptor) System.Web.Mvc.ControllerActionInvoker.InvokeAction पर (ControllerContext controllerContext, स्ट्रिंग actionName) पर rDescriptor) System.Web.Mvc.Controller पर। ExecuteCore() सिस्टम.Web.Mvc.ControllerBase.Execute (RequestContext requestContext)
सिस्टम.Web.Mvc.MvcHandler पर। <> c__DisplayClass6। <> c__DisplayClassb.b__5() सिस्टम.Web.Mvc.Async.AsyncResultWrapper पर। <> c__DisplayClass1.b__0() सिस्टम.Web.Mvc.MvcHandler पर। <> c__DisplayClasse.b__d() System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() System.Web.HttpApplication.ExecuteStep पर (IExecutionStep कदम है, बूलियन & completedSynchronously)
जैसा कि आप स्टैक ट्रेस से देख सकते हैं, यह हमारे कोड में किसी विशेष स्थान को इंगित नहीं करता है जिससे इसे डीबग करना मुश्किल हो जाता है।
इस अपवाद का सामना करने से रोकने के लिए कोई सलाह बहुत सराहना की जाएगी।
क्या आपने हैशटेबल को लॉक करने, अपने कार्यों को करने और फिर इसे अनलॉक करने का प्रयास किया है? टिप्पणियों के तहत पहला उदाहरण: http://msdn.microsoft.com/en-us/library/system.collections.hashtable.synchronized.aspx –
@ स्पलैश-एक्स: संपूर्ण स्टैक ट्रेस फ्रेमवर्क कोड में है। – SLaks
यह कहने में मददगार होगा कि "जब कोई उपयोगकर्ता पृष्ठ लोड करता है" –