Mano dabartinis projektas, kai kurie vartotojai bus kelionės aplink pasaulį ir darbuotojams atvykę į skirtingas paskirties vietas, kokia mašina yra patogus tuo metu. Automatams Svečių bus rodomi Windows ir įdiegta ir sukonfigūruota vietos lokalės. (Aš tik supratau, kad Svečių mašinos negali turėti tinkamą kalbos paketai… tikriausiai nebus, tiesą sakant… Aš esu stovėjimo kad vienas dabar).
SharePoint reikia numatyti mechanizmą, pagal kurią vartotojas gali pasirinkti savo kalbą ir tada jau MOSS garbę ta kalba nepriklausomai nuo to, kaip vartotojas pasiekia MOSS. Kitaip tariant, Nepaisyti nepriklausomai nuo naršyklės pasakoja IIS/samanų ir vietoj ieškoti kad pageidaujamą kalbą ir ją naudoti.
Mes ketiname ištirti du požiūriai:
- HTTP apdorojimo programa: Individualizuotos HTTP apdorojimo programa įdiegta IIS bus ieškoti vartotojo MOSS profilis, išsiaiškinti pageidaujamą kalbą ir tada perjungti HTTP antraštėje aplink kiek reikia iki kontrolės perdavimas MOSS.
- Global.asax: Keisti global.asax daryti tą patį. Galime modifikuoti kažkas, bet idėja yra tai, kad surasti nors vietoje, kur mes galite įterpti mūsų lokalės perjungimo logika.
Kitas komplikuojantis veiksnys, kad mes reikia paramos 60k vartotojų, apie 1,000 kurios gali būti vienu metu gauti MOSS piko apkrovos.
HTTP apdorojimo programa atrodo gana drastiškas, bet galbūt geriausia vieta įdėti kodą, nes tai IIS lygiu ir žinios. Tai geras vienintelę darbo.
Mes pasvirusi į global.asax tipo metodą, daugiausia dėl to, mes manome, mes turime daugiau galimybių talpyklai duomenų tuo metu.
I be dienoraščių daugiau šiuo klausimu, kaip sužinoti daugiau.
Jei žinote ką nors apie tai, prašau paskelbti komentarą 🙂
</pabaigos>
Sekite mane Twitter ne http://www.twitter.com/pagalvin
Aš ne išbandyti šį, aš nesu tikras, ar jis veikia.
Puslapis klasė turi, InitializeCulture() metodą, kuris gali būti svarbesni. Jei padarysite kodekse už savo pasirinktinį puslapio, galite padaryti kažką išilgai linijos:
saugomų nepaisyti tuščia InitializeCulture()
{
// Nepaisyti virtualiu metodu InitializeCulture() patikrinti jei profilyje yra vartotojo kalbos nustatymus
eilutę UserCulture = GetCultureFromUserProfile();
Jei ( UserCulture != "")
{
// nėra vartotojo kalbos nustatymus profilyje: į jį
Thread.CurrentThread.CurrentUICulture = naujas CultureInfo(UserCulture);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
}
}
Akivaizdžiai galite sukurti šiek tiek spartinimo į šio metodo.
Šaltinio: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?Path=~/aspnet/samples/Localization/LocalizePers.src&failas = LocalizePers_cs\LocalizePers_cs.aspx&lang = C % 23 šaltinis
I 'm thinking HTTP apdorojimo programa šiuos srautus:
1. Prašymą įgijusi, patikrinti slapukus seanso slapukas už pageidaujamą kalbą (Seanso slapukai nustoja galioti uždarius naršyklę)
2. Patikrinti, ar prašymas yra ASPX puslapį, Jei ne, praleisti prašymą
3. Jei slapuko nėra, nustatyti kalbos antraštės nurodytos vertės. Baigta!
4. Slapuko nėra, imtis autentifikavimo kredencialų ir ieškoti vartotojo SFS, rasti pageidaujamą kalbą
5. Nustatyti slapuką antraštės ir HTTP kalbų antraštės. Padaryti.
Pirmasis APX puslapio užklausa turės kontaktinio tinklo SFS lookup bet kiekvieną prašymą nuo su yra ne peržvalgos, bus gimtoji greitis. Nereikia sesijos talpyklos arba jokių kitų išlaidas naudojant seanso slapukas per. Kai naršyklė yra uždarytas, Seanso slapukas nueina. Jei vartotojas pakeičia jų kalbų pirmenybę SPS jie tiesiog reikia uždaryti ir iš naujo Atidarykite naršyklę ir ji įsigaliotų.
iš tikrųjų http apdorojimo programa nėra iis lygiu…tai taikymo lygiu (IIS yra ISAPI filtrų)…Norėčiau būti atsargūs bc SP turi savo prižiūrėtojas…todėl būtinai išbandyti jį…Aš padariau jį prieš bet turėjo kai is punktas konflikto su SP prižiūrėtojas.
Man būtų labiau linkę naudoti a HTTPHandler, vienintelė priežastis, kad aš nemėgstu neliesti SharePoint failus. Plius labai lengva sukurti SharePoint sprendimą dislokuoti per HttHandler ( ir naudoti SPWebConfig API pakeisti web.config). Atsižvelgdama vartotojo apkrovos jūs, Norėčiau įsivaizduoti, jūs turite didelių ūkio, Jūs tikrai nenorite eiti modifiying failus kiekviename serveryje.
Diegti global.asa failą per sprendimas yra bloga idėja, Jei jūs atsisakyti tai, jūsų originalus failas yra dingo …
Taip pat gebėjimas greitai atsisakyti sprendimo gali būti gera idėja, tuo atveju, jei ką daryti įvykus nelaimei su prižiūrėtojas perf.