2009-08-21 17 views
7

मैं ऐसे मामले में दौड़ रहा हूं जहां अंतर्निहित वैश्वीकरण सुविधाओं का उपयोग कर एएसपी.NET एप्लिकेशन क्रैश हो रहा है।एएसपी.नेट वैश्वीकरण: संस्कृति = "ऑटो" पृष्ठ तटस्थ संस्कृति दुर्घटना के साथ निर्देश?

:

संस्कृति = "ऑटो" निर्देश, (जैसे कि "zh-हंस 'के रूप में) अपने ब्राउज़र भाषा के रूप में एक तटस्थ संस्कृति के साथ एक उपयोगकर्ता के साथ एक ASP.NET पृष्ठ पर निम्न अपवाद का उत्पादन करेगा संस्कृति 'zh-Hans' एक तटस्थ संस्कृति है। इसका उपयोग स्वरूपण और पार्सिंग में नहीं किया जा सकता है और इसलिए को थ्रेड की वर्तमान संस्कृति के रूप में सेट नहीं किया जा सकता है।

एएसपी पर System.Threading.Thread.set_CurrentCulture (CultureInfo मूल्य) System.Web.UI.Page.set_Culture पर (स्ट्रिंग मूल्य) पर System.Globalization.CultureInfo.CheckNeutral (CultureInfo संस्कृति) पर

.somePage_aspx .__ BuildControlTree (somePage_aspx __ctrl) ASP.somePage_aspx.FrameworkInitialize पर()

कोई भी विचार? संस्कृति/यूआईसील्चर पैरामीटर में खिलाया गया कचरा आम तौर पर अनदेखा प्रतीत होता है, लेकिन इस मामले में एक अनचाहे अपवाद पैदा हो रहा है।

उत्तर

3

सबसे पहले, आप यूआईसील्चर = "ऑटो" के साथ-साथ संस्कृति = "ऑटो" को स्थापित करने पर विचार कर सकते हैं <% @ पृष्ठ%> घोषणा।

अब, मैं अपने .NET 4.0 (बीटा) इंस्टॉल पर इस रिपो को नहीं देख रहा हूं, इसलिए यह .NET 3.5 में उत्पाद बग हो सकता है। http://blogs.msdn.com/ddietric/archive/2008/02/05/yacvcp-yet-another-currentculture-vs-currentuiculture-post.aspx

आशा है कि उपयोगी है:

यहाँ तटस्थ संस्कृतियों और UICulture और संस्कृति के बीच के अंतर के बारे में सीखने के लिए एक महान संसाधन है।

2

क्या आप प्रारंभिक अनुरोध पर संस्कृति सेट नहीं कर सकते? (नोट: एएसपीनेट अनुरोध थ्रेड के बीच कूद सकते हैं ताकि आपको थ्रेड में भी हुक करने की आवश्यकता हो।)

+0

हाय एंड्रयू अरनॉट। मैंने अपने <%@Page %> में संस्कृति = "ऑटो" यूइकल्चर = "ऑटो" रखा। संस्कृति 'zh-Hans' संस्कृति के रूप में भी एक ही अपवाद प्राप्त करना एक तटस्थ संस्कृति है।इसका उपयोग स्वरूपण और पार्सिंग में नहीं किया जा सकता है और इसलिए थ्रेड की वर्तमान संस्कृति के रूप में सेट नहीं किया जा सकता है। एकल पृष्ठ में यह अपवाद ठीक काम कर रहे सभी पृष्ठों को छोड़ देता है .------ कृपया मेरी मदद करें –

6

मुझे एक ही समस्या हो रही थी और थोड़ी देर के लिए दीवार के खिलाफ मेरे सिर को बोनक करने के बाद मेरे नाक के नीचे जवाब मिला।

मुद्दा रहा था CurrentCulture और CurrentUICulture के बीच का अंतर समझ नहीं में था। अंतर वर्तमान संस्कृति का उपयोग तारीखों, संख्याओं और सॉर्टिंग को प्रारूपित करने के लिए किया जाता है, CurrentUICulture संसाधन से विशिष्ट विशिष्ट तारों को देखने के लिए उपयोग किया जाता है।

मैं कुछ कोड ऐसे ही

return input.ToString("C", System.Globalization.CultureInfo.CurrentUICulture); 

देखा जब यह किया गया होना चाहिए

return input.ToString("C", System.Globalization.CultureInfo.CurrentCulture); 

आप एक गैर विशिष्ट संस्कृति आपको सिस्टम मिल जाएगा के साथ प्रारूप संस्कृति विशिष्ट वस्तुओं के लिए कोशिश शुरू जब था .NotSupportedException।

+0

यह एक ही समस्या नहीं हो सकती है लेकिन आपको कुछ कोड की तलाश करनी चाहिए जहां आप CurrentUICulture के माध्यम से किसी तटस्थ संस्कृति को असाइन करने की कोशिश कर रहे हैं एक और विशिष्ट संस्कृति की उम्मीद है जिसे आप करंटकल्चर के माध्यम से एक्सेस कर सकते हैं। – mjallday

संबंधित मुद्दे