Na mém aktuálního projektu, Někteří uživatelé budou cestovat po celém světě a kdy dorazí do různých destinací, použít, ať stroj je šikovný v době. Tyto stroje Hodnocení bude systém Windows a nainstalován a nakonfigurován pro místní prostředí. (Právě jsem si uvědomil, že hodnocení stroje nemusí mít správné jazykové sady… zřejmě nebude, Vlastně… Jsem tenhle prozatím parkování).
SharePoint je třeba vytvořit mechanismus, kterým uživatel může vybrat svůj preferovaný jazyk a pak MOSS ctít tento jazyk bez ohledu na to, jak uživatel přistupuje k MOSS. Jinými slovy, ignorovat, co prohlížeč říká IIS/MOSS a místo toho vyhledat tento preferovaný jazyk a použít ji.
Jedeme vyšetřovat dva přístupy:
- Popisovač HTTP: Vlastní popisovač HTTP v IIS nainstalován bude vyhledávat MOSS profil, zjistit upřednostňovaný jazyk a potom přepnout záhlaví HTTP kolem podle potřeby před předáním řízení MOSS.
- Global.asax: Úprava global.asax udělat totéž. Můžeme upravit něco jiného, Ale myšlenka je, že najdeme nějaké místo, kde můžeme vložit locale přepínání logiky.
Komplikujícím faktorem je, že potřebujeme podporu 60k uživatelům, o 1,000 z nichž může být současně přístup MOSS na vrcholu zatížení.
Popisovač HTTP, se zdá být docela drastické, Ale možná nejlepší místo, kde vložit kód, protože je to na úrovni služby IIS a vševědoucí. Je to dobré v jednom místě práce.
My jsme přiklánějí k přístupu typu global.asax, hlavně proto, že věříme, že budeme mít více možností pro ukládání dat v daném okamžiku.
Já budu blogů na toto téma, jak jsem se dozvědět více.
Máte-li vědět nic o tom, please post a comment 🙂
</Konec>
Za mnou na Twitter na http://www.twitter.com/pagalvin
Jsem nebyl testován, takže si nejsem jistý, jestli to funguje.
Page Třída má InitializeCulture() Metoda, která může být přepsána. Pokud to uděláte v kódu za své vlastní masterpage, mohli udělat něco v duchu:
chráněné override void InitializeCulture()
{
// přepsat virtuální metodu InitializeCulture() Zkontrolujte, zda profil obsahuje nastavení jazyka uživatele
String UserCulture = GetCultureFromUserProfile();
Pokud ( UserCulture != "")
{
// Zde je nastavení jazyka uživatele v profilu: Přepněte do ní
Thread.CurrentThread.CurrentUICulture = nové CultureInfo(UserCulture);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
}
}
Samozřejmě si můžete vytvořit některé mezipaměti do implementace této metody.
Zdroj: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?Path=~/ASPNET/Samples/Localization/LocalizePers.src&soubor = LocalizePers_cs\LocalizePers_cs.aspx&lang = C % 23 zdroj
Mám na mysli popisovač HTTP s následující tok:
1. Žádost, Zkontrolujte soubory cookie soubor cookie relace pro jazykové předvolby (soubory cookie relace vyprší po zavření prohlížeče)
2. Zkontrolovat, zda žádost je pro stránku ASPX, Pokud tomu tak není, Přeskočit požadavek
3. Pokud soubor cookie existuje, Nastavte jazyk záhlaví na zadanou hodnotu. Je hotovo!
4. Žádný soubor cookie, Vezměte pověření pro ověření a vyhledat uživatele v SPS, najít jazyk
5. Nastavit soubor cookie a záhlaví HTTP jazyk. Hotovo.
První požadavek stránku APX bude mít režii SPS vyhledávání, ale každý požadavek od té doby se žádné vyhledávání tak bude nativní rychlost. Není třeba mezipaměti relace nebo jiné zatížení pomocí souboru cookie relace příliš. Po zavření prohlížeče, soubor cookie relace zmizí. Pokud uživatel změní své preference jazyků v SPS stačí jen zavřít a znovu otevřít prohlížeč pro to, aby se projevily.
ve skutečnosti popisovač http není na úrovni služby iis…je to na úrovni aplikace (Filtry ISAPI jsou na úrovni služby IIS)…Děláš si srandu, bc SP má své vlastní rutiny…proto nezapomeňte vyzkoušet si to…jsem to nedělala, ale měl nějaký konflikt s popisovač SP.
Byl bych více inklinují k použití HTTPHandler, jediným důvodem je, že nemám rád dotýká soubory služby SharePoint. Navíc je to snadné pro vytvoření řešení SharePoint k nasazení HttHandler ( a pomocí rozhraní API SPWebConfig upravit soubor web.config). S uživateli zatížení se, Já bych si představit, že máte značný farmu, Opravdu nechcete jít modifiying soubory na každém serveru.
Nasazení souboru global.asa prostřednictvím řešení je špatný nápad, je-li při navíjení, původní soubor je pryč …
Také mají schopnost rychle odvolat řešení by mohlo být dobrý nápad, v případě, že se nedaří s perf obslužné rutiny.