На мій поточний проект, Деякі з користувачів буде подорожувати по всьому світу, і коли вони прибудуть в різних напрямків, використовувати будь-які машини є під рукою під час. Ці машини Відгуки буде запущений Windows і встановлений і налаштований для місцевих локалі. (Я просто зрозумів, що машини Відгуки не може мати рацію мовних пакетів… ймовірно, не буде, Насправді… Я впевнений, що один зараз паркування).
SharePoint повинна забезпечити механізм, відповідно до якого користувач може вибрати бажану мову і потім МОСС честь цієї мови, незалежно від того, як користувач отримує доступ до МОСС. Іншими словами, ігнорувати будь-який інший браузер розповідає IIS/МОСС і замість цього подивитися що бажану мову і використовувати його.
Ми будемо розслідувати підходів.:
- Обробник HTTP: Користувальницькі обробник HTTP на IIS інстальовано дивляться МОСС профіль користувача, зрозуміти основну мову і переключіться заголовку HTTP навколо міру необхідності до проходження контролю МОСС.
- Global.asax: Змінити global.asax, щоб зробити те ж саме. Ми можемо змінювати щось інше, Але ідея полягає в тому, що ми знаходимо деякі місце, де можна вставити наша логіка локалі перемикання.
Інші ускладнюють фактором є, що нам необхідно підтримки 60 к користувачів, про 1,000 який може бути одночасно доступу ЛИШАЙНИК на піку навантаження.
Обробник HTTP здається досить різке, Але можливо найкраще місце, щоб поставити код, так як це на рівні IIS і всезнаючий. Це хороший єдиною точкою роботи.
Ми маєте схиляється до global.asax типу підхід, головним чином тому, що ми вважаємо, що ми будемо мати більше можливостей для кешування даних на той момент.
Я буду блоги більше на цю тему, як я дізнатися більше.
Якщо ви повинні знати про це, будь ласка, залиште коментар 🙂
</кінець>
Йди за мною на Twitter в http://www.twitter.com/pagalvin
Я не перевіряв це, тому я не впевнений, що він працює.
На сторінці клас має в InitializeCulture() метод, який може бути відключена. Якщо ви робите це в коді за звичай відображатимуть, Ви могли б зробити щось по аналогії з:
захищений перевизначити порожнеча 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 = C % 23 джерело
Я маю на увазі обробник HTTP нижче за течією:
1. Запит поставляється в, Перевірте файли cookie для сеансі cookie для вибір мови (куки сесії закінчується під час закриття браузера)
2. Перевірити, чи запит на сторінку ASPX, Якщо не, пропустіть запит
3. Якщо існує cookie, значення, Указане значення language заголовком. Ви зробили!
4. Жоден файл cookie не, Візьміть облікові дані автентифікації і шукати користувачів в ССП, знайти вибір мови
5. Набір печива заголовок і language заголовком HTTP. Зроблено.
Перший APX запиту сторінки буде мати накладні SPS підстановки, але кожен запит з цього моменту з мати не пошуків, так буде рідного швидкість. Немає необхідності для кешування сесії або будь-які інші накладні витрати за допомогою сеансі cookie занадто. Після закриття браузера, сеансі cookie йде. Якщо користувач змінює свої переваги мови в ССП вони просто потрібно закрити та знову відкрити браузер для того, щоб зміни вступили в силу.
насправді обробник http не на рівні iis…це на прикладному рівні (Фільтри ISAPI знаходяться на рівні IIS)…я був би обережнішим bc СП має свою власну обробника…так що будьте впевнені, щоб перевірити його в…я робив це раніше, але мали деякі конфлікт з обробника SP.
Я був би більш схильний використовувати на HTTPHandler, Єдина причина, що я не люблю, торкаючись файлів SharePoint. Плюс це просто створити SharePoint рішення розгорнути на HttHandler ( і змінювати файл Web. config за допомогою SPWebConfig API). Маючи користувача навантаження ви робите, Я хотів би представити вас є значні ферми, дійсно не потрібно йти на кожному сервері modifiying файли.
Розгортання global.asa файл за допомогою рішення є поганою ідеєю, Якщо ви його згортання, вихідний файл не буде …
Також маючи можливості для згортання рішення швидко може бути гарною ідеєю, у випадку, якщо справи йдуть погано з perf обробник.