میری موجودہ منصوبے پر, صارفین میں سے کچھ دنیا بھر میں سفر کریں گے اور وہ مختلف مقامات پر پہنچ جب, جو کچھ بھی مشین کے وقت ہاتھ ہے استعمال کریں. ان مہمان مشینیں Windows دوڑتے رہے ہوں گے اور نصب اور تشکیل کے لیے مقامی مقامی. (میں صرف مہمان مشینیں حق زبان پیک نہیں کر سکتے اس بات کا احساس ہے… شاید نہیں, حقیقت میں… میں اب کے لئے اس ایک پارک رہا ہوں).
SharePoint جس صارف کر سکتے ہیں ان کی ترجیحی زبان چنیں اور پھر کس طرح صارف کائی چھانٹتا، اس بات سے قطع نظر کہ زبان عزت کائی کے پاس ایک طریقہ کار فراہم کرنے کی ضرورت ہے. دوسرے لفظوں میں, جو کچھ براؤزر IIS/کائی بتاتا ہے کہ غفلت اور اس کی بجائے کہ ترجیحی زبان کو نظر اور اسے استعمال.
ہم نے دو طریقوں کی تحقیقات کے لئے جا رہے ہیں:
- HTTP ہینڈلر: IIS پر نصب ایک اپنی مرضی کے HTTP ہینڈلر صارف کے کائی پروفائل تک نظر آئے گا, ترجیحی زبان کی سمجھ اور اس کے بعد کائی پر کنٹرول کے گزرنے سے پہلے کے ارد گرد کے طور پر کی ضرورت HTTP ہیڈر کو سوئچ.
- global.asax: ایک ہی بات کرنا global.asax میں ترمیم کریں. ہم کوئی اور شے میں ترمیم کرسکتے ہیں, لیکن خیال ہے کہ ہم کسی جگہ جہاں ہم ہمارے مقامی بدیل منطق داخل کر سکتے ہیں تلاش.
دیگر پیچیدہ عنصر ہم 60k صارفین کی حمایت کرنے کی ضرورت ہے, کے بارے میں 1,000 بیک وقت چوٹی بوجھ کم کائی تک رسائی حاصل کیا جا سکتا ہے جن میں سے.
HTTP ہینڈلر بہت سخت لگتا ہے, لیکن چونکہ یہ IIS سطح اور سب کچھ جاننے والا ہے، کوڈ ڈالنے کے لئے ممکنہ طور پر بہترین جگہ. یہ کام کی ایک اچھی بات ہے.
ہم نے ایک global.asax قسم کے نقطہ نظر کی طرف جھکاو رہے ہیں, ہم اس نقطہ پر کیشنگ اعداد و شمار کے لئے زیادہ اختیارات ہونگے یقین ہے کہ بنیادی طور پر وجہ سے.
میں مزید جاننے کے لئے کے طور پر میں نے اس موضوع پر بلاگنگ اور زیادہ ہو جائے گا.
اگر آپ اس بارے میں کچھ پتہ ہے تو, please post a comment 🙂
</آخر>
ٹویٹر پر مجھ پر عمل کریں 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?راہ = ~ / aspnet / نمونے / لوکلائزیشن / LocalizePers.src&فائل = LocalizePers_cs\LocalizePers_cs.aspx&لینگ = C٪ 23 منبع
میں مندرجہ ذیل بہاؤ کے ساتھ HTTP ہینڈلر سوچ رہا ہوں:
1. پروپوزل کی گذارش میں آتا ہے, زبان کی ترجیحات کے لئے ایک سیشن کوکی کے لئے کوکیز کو چیک کریں (براؤزر کے بند کر دیا ہے جب سیشن کوکیز کی میعاد ختم)
2. درخواست ASPX کے صفحے کے لیے ہے تو چیک کریں, اگر نہیں, کی درخواست کریں
3. کوکی موجود ہے تو, مخصوص قیمت پر زبان ہیڈر سیٹ. آپ کیا کر رہے ہیں!
4. کوئی کوکی, تصدیق credential لے اور ایس پی ایس میں صارف کو نظر آتے ہیں, زبان کی ترجیحات تلاش
5. کوکی ہیڈر اور HTTP ہیڈر زبان سیٹ کریں. کیا.
پہلا APX صفحہ lookups کی درخواست نہیں ہے کے ساتھ ایس پی ایس تلاش کے ہیڈ لیکن اس وقت سے ہر درخواست ہے تا آ رفتار ہو جائے گا. بھی ایک سیشن کوکی استعمال کرتے ہوئے سیشن کیشے یا کسی بھی دوسرے اوور ہیڈ کی ضرورت نہیں ہے. براؤزر کے بند کر دیا ہے ایک بار, سیشن کوکی دور ہو جاتا ہے. صارف ایسپیایس میں ان زبانوں کی ترجیحات تبدیل کرتے ہیں تو وہ صرف اس کا اثر لینے کے لئے براؤزر بند اور دوبارہ کھولنے کی ضرورت.
اصل میں HTTP ہینڈلر IIS سطح پر نہیں ہے…یہ درخواست کی سطح پر ہے (ISAPI فلٹر IIS سطح پر ہیں)…میں ہوشیار BC ایس پی کے اپنے ہینڈلر ہے ہو جائے گا…تو اسے باہر کی جانچ اس بات کا یقین ہو جائے…میں نے پہلے یہ کیا ہے لیکن ایس پی ہینڈلر کے ساتھ کچھ تنازعہ ہو چکے ہیں.
میں نے ایک HTTPHandler استعمال کرنے کے لئے زیادہ مائل ہوگی, صرف ایک وجہ میں شیئرپوائنٹ فائلوں کو چھونے پسند نہیں ہے کہ. پلس یہ ایک HttHandler تعینات کرنے کے لئے ایک شیئرپوائنٹ حل تخلیق کرنا آسان ہے ( اور web.config نظر ثانی کرنے SPWebConfig API کا استعمال). تم کرتے صارف لوڈ ہو رہی ہے, میں نے آپ کو کافی فارم ہے تصور تھا, آپ واقعی ہر ایک سرور پر modifiying فائلوں کو جانے کے لئے نہیں کرنا چاہتے.
ایک حل کے ذریعے global.asa فائل کی تعیناتی ایک برا خیال ہے, تم نے اسے رجوع اگر, آپ کی اصل فائل چلا گیا ہے …
اس کے علاوہ حل رجوع کرنے کی صلاحیت رکھنے والے فوری طور پر ایک اچھا خیال ہو سکتا ہے, کیس میں چیزوں ہینڈلر کے perf کے ساتھ غلط.