El meu actual projecte, alguns usuaris viatjarà arreu del món i quan arriben a diferents destinacions, utilitzar qualsevol màquina és útil en el moment. Les màquines d'aquests estarà funcionant Windows i instal lat i configurat per a la localització del local. (Jo Acabo d'adonar que les màquines d'aquests no poden tenir els paquets de llengua adequat… probablement wo no, de fet… Jo sóc aquell per ara aparcament).
SharePoint necessita proporcionar un mecanisme pel qual l'usuari pot triar la llengua preferida i després tenir molsa honor que el llenguatge independentment de com l'usuari accedeix molsa. En altres paraules, Ignora qualsevol navegador diu IIS/molsa i en canvi aquell idioma preferit veure i utilitzar-lo.
Anem a investigar dos enfocaments:
- Gestor de HTTP: Un costum handler HTTP instal·lat IIS mirarà el perfil de l'usuari molsa, esbrinar la llengua preferida i llavors es canvia l'encapçalament HTTP als voltants segons sigui necessari abans de passar el control de molsa.
- global.asax: Modificar el global.asax per fer la mateixa cosa. Ens podrà modificar alguna cosa més, però la idea és que podem trobar algun lloc on podem inserir nostra lògica locale de commutació.
L'altre factor complicació és que necessitem suport 60k usuaris, sobre 1,000 d'accés que pot ser simultàniament a molsa al pic carregar.
El gestor de HTTP sembla bastant dràstica, però possiblement el millor lloc per posar el codi, ja que és el nivell de l'IIS i sabent completament. És un bon punt de treball.
Ens està inclinada cap a un enfocament de tipus global.asax, principalment perquè creiem que tindrem més opcions de memòria cau de dades en aquell moment.
Vaig a ser blocs més sobre aquest tema que vaig aprenent més.
Si teniu sap alguna cosa sobre això, please post a comment 🙂
</final>
Follow me on Twitter http://www.twitter.com/pagalvin
No he provat això així no sóc segur si funciona.
La classe de pàgina té un InitializeCulture() mètode que pot ser invalidada. Si ho fa en el codi darrere del seu costum mostraran, vostè podria fer alguna cosa al llarg de les línies de:
invalidació protegit buit InitializeCulture()
{
// invalidar mètode virtual InitializeCulture() per comprovar si el perfil conté una escena de llengua de l'usuari
string UserCulture = GetCultureFromUserProfile();
Si ( UserCulture != "")
{
// hi ha una escena de llengua de l'usuari en el perfil: canviar-lo
Thread.CurrentThread.CurrentUICulture = nou CultureInfo(UserCulture);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
}
}
Òbviament, vostè pot construir alguns caching a la implementació d'aquest mètode.
Font: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?Path=~/ASPNET/samples/Localization/LocalizePers.src&fitxer = LocalizePers_cs\LocalizePers_cs.aspx&lang = C % 23 font
Estic pensant en gestor de HTTP amb el cabal següent:
1. Petició ve en, comprovar les galetes per una galeta de sessió per a l'idioma de preferència (les galetes de sessió expirar quan el navegador es tanca)
2. Comprovar si la sol·licitud és per a la pàgina ASPX, Si no, Omet sol·licitud
3. Si existeix de galeta, establir l'encapçalament de llengua al valor especificat. Se l fa!
4. Cap cookie, prendre les credencials d'autenticació i l'usuari busqui en SPS, trobar l'idioma de preferència
5. Conjunt galeta capçalera i capçalera HTTP llengua. Fet.
Primera petició APX pàgina haurà despesa de cerca SPS però cada petició de llavors ençà amb tenen cap cerques així serà la velocitat de parlant natiu. Sense necessitat d'amagatall de sessió o qualsevol altre despesa mitjançant una galeta de sessió massa. Una vegada que el navegador es tanca, la galeta de sessió desapareix. Si l'usuari canvia la seva preferència de llengües en SPS només necessiten tancar i tornar a obrir el navegador per a que prengui efecte.
en realitat l'handler d'http no és a nivell de l'iis…és en l'àmbit d'aplicació (ISAPI filtres són a nivell de l'IIS)…seria prudent que aC SP té el seu propi controlador…així ser segur per analitzar-lo fora…Jo he fet abans però han tingut algun conflicte amb el controlador de SP.
Seria més inclinat a utilitzar un HTTPHandler, l'única raó és que no m'agrada tocar els arxius del SharePoint. A més és fàcil crear una solució de SharePoint per desplegar un HttHandler ( i l'ús de l'API SPWebConfig per modificar el fitxer web. config). Tenint la càrrega de l'usuari fer, M'imagino que té una granja considerable, realment no vol anar arxius modifiying a cada servidor.
Desplegament de l'arxiu de global.asa mitjançant una solució és una mala idea, Si vostè retractar, el seu arxiu original s'ha anat …
Tenint també la possibilitat de retirar ràpidament la solució podria ser una bona idea, en cas que les coses van malament amb la perforació dels controlador.