التشكيل الجانبي للمستخدم موس كالسلطة لتفضيل لغة المستخدم

في بلدي المشروع الحالي, بعض المستخدمين سوف يسافر حول العالم، وعند وصولهم إلى وجهات مختلفة, استخدام أي آلة مفيد في الوقت. تلك الآلات ضيف سيتم تشغيل Windows وتثبيتها وتكوينها للغة المحلية. (لقد أدركت للتو أن الآلات ضيف قد لا يكون حزم اللغة الصحيحة… ربما لن, في الحقيقة… وأنا في وقوف السيارات أن أحد الآن).

يحتاج SharePoint لتوفير إليه حيث يمكن للمستخدم اختيار اللغة المفضلة وبعد ذلك تكريما لتلك اللغة بغض النظر عن كيفية وصول المستخدم إلى موس موس. وبعبارة أخرى, تجاهل كل ما يروي المستعرض IIS/موس وبدلاً من البحث عن تلك اللغة المفضلة واستخدامها.

نحن ذاهبون إلى التحقيق في هذين النهجين:

  1. معالج HTTP: معالج HTTP مخصصة مثبتة على IIS سوف ابحث في التشكيل الجانبي للمستخدم موس, معرفة اللغة المفضلة ومن ثم التبديل رأس HTTP حولها حسب الحاجة قبل تمرير التحكم إلى موس.
  2. global.asax: تعديل global.asax للقيام بالشيء نفسه. قد نقوم بتعديل شيء آخر, ولكن الفكرة هي أن نجد بعض المكان حيث أننا يمكن إدراج لدينا منطق التبديل الإعدادات المحلية.

عامل تعقيد آخر أننا نحتاج إلى دعم 60 ك المستخدمين, حول 1,000 من الذي قد يكون الوصول في نفس الوقت إلى موس في ذروة تحميل.

معالج HTTP يبدو شديد جداً, ولكن ربما أفضل مكان لوضع التعليمات البرمجية حيث أنها في مستوى IIS ومعرفة كل. أنها نقطة واحدة جيدة للعمل.

نحن كنت تميل نحو اتباع نهج نوع global.asax, أساسا لأننا نعتقد أن علينا أن ننتظر المزيد من الخيارات للتخزين المؤقت للبيانات في تلك المرحلة.

عليك أن تكون المدونات أكثر حول هذا الموضوع كما تعلم أكثر.

إذا كان لديك معرفة أي شيء حول هذا, please post a comment 🙂

</نهاية>

الاشتراك في بلادي بلوق.

اتبعني على التغريد في http://www.twitter.com/pagalvin

4 افكار عن "التشكيل الجانبي للمستخدم موس كالسلطة لتفضيل لغة المستخدم

  1. جاب فوسيرس

    أنا لم تختبر هذا حيث أنني لست متأكداً ما إذا كان يعمل.

    وقد فئة الصفحة إينيتياليزيكولتوري() الأسلوب الذي يمكن أن يتم تجاوز. إذا كان يمكنك القيام بذلك في التعليمات البرمجية للصفحات الرئيسية المخصصة الخاصة بك, يمكن أن تفعل شيئا على غرار:

    تجاوز المحمية باطل إينيتياليزيكولتوري()
    {
    // تجاوز الأسلوب الظاهري إينيتياليزيكولتوري() للتحقق مما إذا كانت الشخصية تحتوي على إعداد لغة المستخدم
    سلسلة أوسيركولتوري = جيتكولتوريفروموسيربروفيلي();
    إذا كان ( أوسيركولتوري != "")
    {
    // وهناك إعداد لغة مستخدم في التشكيل الجانبي: قم بالتبديل إلى أنه
    Thread.CurrentThread.CurrentUICulture = CultureInfo جديد(أوسيركولتوري);
    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(أوسيركولتوري);
    }
    }

    ومن الواضح أن يمكنك بناء بعض التخزين المؤقت في تطبيق هذا الأسلوب.

    المصدر: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?path=~/aspnet/samples/localization/LocalizePers.src&الملف = LocalizePers_cs\LocalizePers_cs.aspx&lang = C% 23 المصدر

    الرد
  2. جوناثان

    أنا أفكر في معالج HTTP مع تدفق التالية:

    1. ويأتي الطلب, التحقق من ملفات تعريف الارتباط لملف تعريف ارتباط جلسة لتفضيلات اللغة (ملفات تعريف ارتباط جلسة تنتهي عند إغلاق المستعرض)
    2. تحقق مما إذا كان الطلب لصفحة ASPX, إذا لم يكن, تخطي الطلب
    3. إذا كان ملف تعريف الارتباط موجود, تعيين رأس اللغة إلى القيمة المحددة. أنت القيام به!
    4. لا يوجد ملف تعريف الارتباط, تأخذ مصادقة بيانات الاعتماد ويبحث المستخدم في الصحة والصحة النباتية, العثور على تفضيلات اللغة
    5. رأس تعيين ملف تعريف الارتباط ورأس HTTP اللغة. عمله.

    سوف يكون أول طلب الصفحة APX النفقات العامة من البحث عن الصحة والصحة النباتية ولكن كل طلب من الآن فصاعدا ليست عمليات البحث حتى تكون السرعة الأصلية. لا حاجة لذاكرة التخزين المؤقت للدورة أو أي النفقات العامة الأخرى باستخدام ملف تعريف ارتباط جلسة جداً. بمجرد إغلاق المستعرض, ملف تعريف ارتباط جلسة يذهب بعيداً. إذا قام المستخدم بتغيير تفضيلهم اللغات في الصحة والصحة النباتية يحتاجون فقط إغلاق وإعادة فتح المتصفح لكي تصبح نافذة المفعول.

    الرد
  3. سيدي

    في الواقع ليس معالج http iis على الصعيد…على مستوى التطبيق (عوامل تصفية ISAPI يتم على مستوى IIS)…سأكون حذراً قبل الميلاد SP لديه معالج الخاصة به…لذا يجب التأكد من اختبار بها…أنا فعلت ذلك من قبل ولكن كان بعض الصراعات مع معالج SP.

    الرد
  4. دانيال

    وسأكون أكثر ميلا استخدام هتفاندلير, والسبب الوحيد أن لا أحب لمس الملفات SharePoint. بالإضافة إلى أنها سهلة لإنشاء حل SharePoint لنشر هتثاندلير ( واستخدام سبويبكونفيج API's لتعديل web.config). بعد تحميل المستخدم لديك, كنت أتصور أنك تملك مزرعة كبيرة, كنت لا تريد حقاً أن تذهب الملفات موديفييينج على كل ملقم.
    نشر الملف global.asa عبر إيجاد حل فكرة سيئة, إذا كنت أتراجع, الملف الأصلي الخاص بك ذهب …
    كما لديها القدرة على التراجع عن الحل بسرعة قد تكون فكرة جيدة, في حالة الأمور تسوء مع perf معالج.

    الرد

اترك ردًا

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها *