मेरे वर्तमान परियोजना पर, कुछ उपयोगकर्ताओं के दुनिया के आसपास और जब वे विभिन्न स्थलों पर आने की यात्रा करेंगे, जो भी मशीन समय पर काम है का उपयोग करें. उन अतिथि मशीनों Windows चल रहा हो जाएगा और स्थापित और स्थानीय लोकेल के लिए कॉन्फ़िगर किया गया. (मैं बस एहसास हुआ है कि अतिथि मशीनें सही भाषा पैक नहीं हो सकता… शायद नहीं होगी, वास्तव में… मैं अब के लिए कि एक पार्किंग हूँ).
जिससे उपयोगकर्ता अपनी पसंद की भाषा चुन सकते हैं और फिर काई काई कैसे उपयोगकर्ता accesses की परवाह किए बिना कि भाषा का सम्मान है एक तंत्र प्रदान करने के लिए SharePoint की जरूरत. दूसरे शब्दों में, जो भी बताता है कि ब्राउज़र IIS/काई की उपेक्षा और इसके बजाय उस पसंदीदा भाषा के ऊपर देखो और इसे का उपयोग करें.
हम दो दृष्टिकोण की जांच करने के लिए जा रहे हैं:
- HTTP हैंडलर: एक कस्टम HTTP हैंडलर पर IIS स्थापित उपयोगकर्ता की काई प्रोफ़ाइल ऊपर दिखेगा, समझ से बाहर पसंदीदा भाषा और फिर आसपास HTTP शीर्ष लेख आवश्यक के रूप में स्विच करने के लिए काई नियंत्रण गुजर जाने से पहले.
- global. asax: एक ही बात करने के लिए global. asax संशोधित करें. हम कुछ और संशोधित कर सकते हैं, लेकिन विचार है कि हम कुछ जगह जहाँ हम हमारी लोकेल स्विचन तर्क सम्मिलित कर सकते हैं खोजें.
अन्य भी जटिल कारक है कि हम 60 k का समर्थन करने के लिए उपयोगकर्ताओं की आवश्यकता, के बारे में 1,000 जो साथ-साथ काई चरम पर प्रवेश कर चुका है के लोड.
HTTP हैंडलर सुंदर कठोर लगता है, संभवतः सबसे अच्छी जगह पर कोड डाल के बाद से यह IIS स्तर और सब जानने से कम है लेकिन. यह एक अच्छा एकल बिंदु का काम है.
हम एक global. asax प्रकार दृष्टिकोण की ओर झुकाव रहे हैं, क्योंकि मुख्य रूप से हमें विश्वास है कि हम उस बिंदु पर डेटा कैशिंग के लिए और अधिक विकल्प होगा.
के रूप में मैं जानने के लिए और अधिक मैं इस विषय पर और अधिक ब्लॉगिंग होगा.
यदि आपके पास इस बारे में कुछ भी पता, कृपया एक टिप्पणी पोस्ट करें 🙂
</अंत>
मेरे ब्लॉग के लिए सदस्यता लें.
मेरे चहचहाना पर का पालन करें http://www.twitter.com/pagalvin
तो मुझे यकीन है कि अगर यह काम करता है नहीं हूँ मैं यह परीक्षण नहीं है.
पृष्ठ वर्ग के एक InitializeCulture है() विधि है जो अधिरोहित जा सकता है. यदि आप यह करने में अपने कस्टम masterpage के पीछे कोड, आप की तर्ज साथ कुछ कर सकता है:
संरक्षित ओवरराइड शून्य InitializeCulture()
{
// ओवरराइड वर्चुअल विधि InitializeCulture() होता यदि प्रोफ़ाइल है एक उपयोगकर्ता भाषा सेटिंग की जाँच करने के लिए
UserCulture स्ट्रिंग = GetCultureFromUserProfile();
अगर ( UserCulture != "")
{
// प्रोफ़ाइल में कोई उपयोगकर्ता भाषा सेटिंग है: यह करने के लिए स्विच करें
Thread.CurrentThread.CurrentUICulture = नया CultureInfo(UserCulture);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
}
}
जाहिर है आप इस पद्धति के कार्यान्वयन में कुछ कैशिंग का निर्माण कर सकते हैं.
स्रोत: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?path=~/aspnet/samples/localization/LocalizePers.src&फ़ाइल = LocalizePers_cs\LocalizePers_cs.aspx&lang = ग % 23 स्रोत
मैं HTTP हैंडलर निम्न प्रवाह के साथ सोच रहा हूँ:
1. अनुरोध में आता है, भाषा वरीयता के लिए एक सत्र कुकी के लिए कुकीज़ की जाँच करें (जब ब्राउज़र बंद कर दिया है सत्र कुकी समय सीमा समाप्त हो)
2. चेक अगर अनुरोध ASPX पृष्ठ के लिए है, यदि नहीं, अनुरोध को छोड़
3. यदि कुकी मौजूद है, भाषा हैडर मान निर्दिष्ट करने के लिए सेट करें. तुम हो चुकी हैं!
4. कोई कुकी, प्रमाणन क्रेडेंशियल ले और उपयोगकर्ता में एसपीएस ऊपर देखो, भाषा वरीयता पा
5. सेट कुकी शीर्ष लेख और HTTP भाषा शीर्षक. किया.
एसपीएस लुकअप की भूमि के ऊपर पहली APX पृष्ठ अनुरोध करना होगा, लेकिन हर अनुरोध पर फिर से साथ है कोई lookups तो देशी गति हो जाएगा. सत्र कैश या भी एक सत्र कुकी का उपयोग करके किसी भी अन्य भूमि के ऊपर के लिए कोई ज़रूरत नहीं. एक बार जब ब्राउज़र बंद हो जाती है, सत्र कुकी दूर हो जाता है. यदि उपयोगकर्ता उनके भाषाओं वरीयता एसपीएस में बदल जाता है वे बस बंद करें और इसे लागू करने के लिए ब्राउज़र को पुन: खोलने के लिए की आवश्यकता.
असल में http हैंडलर iis के स्तर पर नहीं है…यह अनुप्रयोग स्तर पर है (ISAPI फ़िल्टर IIS के स्तर पर कर रहे हैं)…मैं अपने हेन्डलर ईसा पूर्व सपा है सावधान रहना होगा…तो इसे बाहर का परीक्षण करने के लिए सुनिश्चित हो…मैं यह पहले किया है, लेकिन सपा हेन्डलर के साथ कुछ संघर्ष पड़ा है.
मैं और अधिक एक HTTPHandler का उपयोग करने के लिए इच्छुक होना होगा, एक ही कारण है कि मैं पसंद नहीं है SharePoint फ़ाइलों को छू. इसके अलावा यह एक HttHandler को परिनियोजित करने के लिए SharePoint समाधान बनाने के लिए आसान है ( और web. config संशोधित करने के लिए SPWebConfig API का उपयोग करें). उपयोगकर्ता लोड कर तुम नहीं, मैं कल्पना होगा तुम एक बड़े आकार का खेत है, आप वास्तव में प्रत्येक सर्वर पर modifiying फ़ाइलें नहीं जाना चाहता.
एक समाधान के माध्यम से global.asa फाइल की तैनाती एक बुरा विचार है, यदि आप इसे वापस लेना, अपने मूल फ़ाइल चला गया है …
भी समाधान जल्दी से वापस लेना की क्षमता होने एक अच्छा विचार हो सकता है, मामले में बातें perf हेन्डलर के साथ गलत जाना.