Minun nykyinen projekti, Jotkut käyttäjät matkustaa ympäri maailmaa ja kun he saapuvat eri kohteisiin, Käytä tahansa koneella on kätevä. Näiden kutsuvieras koneistaa jatkuva Akkuna ja asennettu ja määritetty paikallisen maa. (Olen vain ymmärtänyt, että Asiakkaamme koneet eivät ole aivan kielenkäyttö ahtaa… luultavasti ei, Itse asiassa… Olen Internet että yksi nyt).
SharePoint on tarjottava mekanismi, jonka avulla käyttäjä voi valita haluamansa kielen ja sitten MOSS kunniaksi kielen riippumatta siitä, miten käyttäjä käyttää MOSS. Toisin sanoen, jättää riippumatta selaimen kertoo IIS-ja SAMMAL ja sen sijaan etsiä haluamasi kieli ja käyttää sitä.
Aiomme tutkia kaksi lähestymistapaa:
- HTTP-käsittelijän: Mukautetun HTTP-käsittelijä, IIS asennetaan hakee MOSS käyttäjäprofiili, selvittää ensisijainen kieli ja sitten vaihtaa HTTP-otsikon ympärille tarvitaan ennen ohjausobjektin välittämistä MOSS.
- Global.asax: Muokkaa global.asax tehdä sama asia. Emme voi muuttaa jotain muuta, mutta ajatus on löytää paikka kun lisäämme locale-kytkentä logiikka.
Monimutkaistava tekijä on, että meidän täytyy tukea 60k käyttäjät, tietoja 1,000 joka voi olla samanaikaisesti päästä MOSS huippu ladata.
HTTP-käsittelijän tuntuu melko jyrkkä, mutta paikka oli laittaa koodin, koska se on IIS: N tasolla ja kaikki tietävä. Se on hyvä yhden työn.
Olet nojaten kohti global.asax tyyppi lähestymistapaa, pääasiassa siksi, että uskomme, että meillä on enemmän vaihtoehtoja tietoja välimuistiin tässä vaiheessa.
I olla blogging enemmän asiasta kuten opin lisää.
Jos sinulla on tiedä mitään tästä, please post a comment 🙂
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin
En ole testannut tätä joten en ole varma jos se toimii.
Sivun luokka on InitializeCulture() menetelmä, joka voidaan ohittaa. Jos teet tämän mukautetun perustyylisivuun koodissa, Voisitteko tehdä jotakin sentapaista:
suojattu ohittaa mitätöidä InitializeCulture()
{
// ohittaa näennäinen menetelmä InitializeCulture() Tarkista jos profiili sisältää käyttäjän kieliasetus
string UserCulture = GetCultureFromUserProfile();
Jos ( UserCulture != "")
{
// ei käyttäjän kieliasetus profiili: Siirry siihen
Thread.CurrentThread.CurrentUICulture = uusi CultureInfo-luokan(UserCulture);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
}
}
Tietenkin voit rakentaa joitakin cashing tämän menetelmän täytäntöönpano.
Lähde: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?Path=~/ASPNET/Samples/localization/LocalizePers.src&tiedosto = LocalizePers_cs\LocalizePers_cs.aspx&lang = C % 23 lähde
Ajattelen HTTP-käsittelijä seuraavat flow:
1. Pyynnöstä tulee, Tarkista evästeet istuntoeväste kieli (istunnon evästeet päättyy, kun selain suljetaan)
2. Tarkista, onko pyyntö ASPX-sivu, Jos ei, Ohita pyyntö
3. Jos eväste on jo luotu, Aseta kieli-otsikon määritetty arvo. Olet valmis!
4. O eväste, ottaa todennuksen tunnistetietoja ja etsiä käyttäjän SPS, Etsi kieli
5. Asettaa evästeen otsikkoa ja HTTP-otsikon kieli. Tehnyt.
Ensimmäinen APX sivupyynnön on SPS hakukentän yläpuolella mutta jokaisen pyynnön jälkeen ei hakuja niin alkuperäisellä nopeudella. Istunnon välimuistitila tai muiden yläpuolella käyttämällä istuntoeväste ei tarvita. Kun selain suljetaan, Istuntokohtainen eväste menee pois. Jos käyttäjä muuttaa SPS toiveensa kieliä he tarvitsevat vain Sulje ja avaa uudelleen selaimen se tulee voimaan.
oikeastaan http-käsittelijä ei ole iis-tasolla…se on sovellustasolla (ISAPI-suodattimet ovat IIS-tasolla)…Olisin varovainen, bc SP on oma ohjaaja…niin varmasti testata se…Olen tehnyt sen ennenkin, mutta on ollut ristiriitoja SP käsittelijä.
Olisin taipuvainen käyttämään HTTPHandler, ainoastaan siksi, että en pidä koskettaa SharePoint-tiedostot. Plus se on helppo luoda SharePoint-ratkaisu käyttöön HttHandler ( ja SPWebConfig API muokata Web.config-tiedosto). Ottaa käyttäjän ladata voit tehdä, Voisin kuvitella sinulla kookkaan maatila, todellakaan halua mennä jokaisen palvelimen tiedostojen modifiying.
Käyttöönotto global.asa-tiedoston kautta ratkaisu on huono idea, Jos voit perua sen, alkuperäisen tiedoston on mennyt …
Myös mahdollisuus poistaa ratkaisun käytöstä nopeasti voisi olla hyvä idea, Jos asiat menevät pieleen perf käsittelijä.