In current consilium meum, Vestibulum Cum ligula lacus et quibusdam aliis propitia perveniunt, use whatever machine is handy at the time. Those guest machines will be running Windows and installed and configured for the local locale. (I’ve just realized that the guest machines may not have the right language packs… probably won’t, in facto… I’m parking that one for now).
SharePoint needs to provide a mechanism whereby the user can pick their preferred language and then have MOSS honor that language regardless of how the user accesses MOSS. In other words, disregard whatever the browser tells IIS/MOSS and instead look up that preferred language and use it.
We’re going to investigate two approaches:
- HTTP Handler: A custom HTTP handler installed on IIS will look up the user’s MOSS profile, figure out the preferred language and then switch the HTTP header around as needed before passing control to MOSS.
- global.asax: Modify global.asax to do the same thing. We may modify something else, but the idea is that we find some place where we can insert our locale-switching logic.
The other complicating factor is that we need to support 60k users, de 1,000 of which may be simultaneously accessing MOSS at peak load.
The HTTP handler seems pretty drastic, but possibly the best place to put the code since it’s at the IIS level and all-knowing. It’s a good single point of work.
Sumus propensa a typus global.asax adventu, maxime quia credimus puteus 'have magis bene pro puncto illo notitia caching.
Lorem ipsum dolor sit cognoscunt me plura de his blogging.
Si hoc scire aliquid, please post a comment 🙂
</finem>
Sequi me in Twitter ad http://www.twitter.com/pagalvin
Hoc non probatur, nescio si habetur.
Page genus habet InitializeCulture() modus potest esse overridden. Si hoc post te in Codice masterpage more, te posse aliquid per lineas:
REIECTO Protexísti vacuo InitializeCulture()
{
// dominari virtualis modus InitializeCulture() si continere ad reprehendo user Quantcast Linguam occasu
string = UserCulture GetCultureFromUserProfile();
si ( UserCulture != "")
{
// est in occasu linguae user Quantcast: switch to it
Thread.CurrentThread.CurrentUICulture = new CultureInfo(UserCulture);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
}
}
Obviously you can build some caching into the implementation of this method.
Source: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?path=~/aspnet/samples/localization/LocalizePers.src&file=LocalizePers_cs\LocalizePers_cs.aspx&lang=C# source
I’m thinking HTTP handler with the following flow:
1. Request comes in, check cookies for a session cookie for language preference (session cookies expire when the browser is closed)
2. Check if request is for ASPX page, if not, skip request
3. If cookie exists, set the language header to the value specified. You are done!
4. No cookie, take the authentication credential and look the user up in SPS, find language preference
5. Set cookie header and HTTP language header. Done.
First APX page request will have overhead of SPS lookup but every request from then on with have no lookups so will be native speed. No need for session cache or any other overhead by using a session cookie too. Once the browser is closed, the session cookie goes away. If the user changes their languages preference in SPS they just need to close and re-open the browser for it to take effect.
actually the http handler isn’t at the iis level…it’s at the application level (ISAPI Filters are at the IIS level)…i would be careful bc SP has its own handler…so be sure to test it out…i’ve done it before but have had some conflict with the SP handler.
I would be more inclined to use a HTTPHandler, ut non solum de SharePoint quia dolor. Plus suus facile creare SharePoint solutio ad explicandam a HttHandler ( et uti SPWebConfig API suus ad temperare web.config). In user having onere facitis, Vellem existimare vos tandem fundum habere sizable, vos vere dont 'volo ut servo sulum lima in modifiying.
Disponas global.asa file per resolutionem ad malum idea, si eam revocare, original file vestris exierit …
Etiam revocare habent facultatem cito solutio esset, bona idea, ita in rebus iniuriam cum de perfectione tracto.