Juu ya mradi wangu wa sasa, baadhi ya watumiaji wa kusafiri kote duniani na wakati wao kufika katika nchi mbalimbali, use whatever machine is handy at the time. Those guest machines will be running Windows and installed and configured for the local locale. (Nimekuwa tu waligundua kwamba mashine mgeni inaweza kuwa Packs lugha ya haki… pengine si, kwa kweli… Mimi maegesho kwamba moja kwa sasa).
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.
Tunakwenda kuchunguza njia mbili:
- HTTP Handler: desturi HTTP handler imewekwa kwenye IIS kuangalia hadi MOSS mtumiaji profile, kufikiri lugha unayopendelea na kisha kubadili header HTTP kuzunguka kama inahitajika kabla ya kupitisha kudhibiti 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.
nyingine complicating sababu ni kwamba tunahitaji kusaidia watumiaji 60k, kuhusu 1,000 ambayo inaweza kuwa wakati huo huo kupata MOSS katika ujazo wa kilele.
Handler HTTP inaonekana kuwa kuporomoka, 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.
Sisi ni leaning kuelekea mbinu global.asax aina, hasa kwa sababu tunaamini tutaweza kuwa na chaguzi zaidi kwa ajili ya data Caching katika hatua hiyo.
Nitakuwa mabalozi zaidi juu ya somo hili kama mimi kujifunza zaidi.
Kama una kujua chochote kuhusu hii, tafadhali baada ya maoni 🙂
</mwisho>
Kufuata yangu juu ya Twitter kwa http://www.twitter.com/pagalvin
Sijawahi kupima hii hivyo mimi sina uhakika kama ni kazi.
Darasani Ukurasa ina InitializeCulture() njia ambayo inaweza kuwa overridden. Kama kufanya hivyo katika kanuni ya nyuma ya masterpage desturi yako, unaweza kufanya kitu pamoja na mistari ya:
kulindwa override utupu InitializeCulture()
{
// override virtual njia InitializeCulture() kuangalia kama profile ina lugha ya mtumiaji mazingira
kamba UserCulture = GetCultureFromUserProfile();
kama ( UserCulture != "")
{
// kuna lugha ya mtumiaji kuweka katika profile: kubadili ni
Thread.CurrentThread.CurrentUICulture = mpya CultureInfo(UserCulture);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
}
}
Ni wazi unaweza kujenga baadhi Caching katika utekelezaji wa njia hii.
Chanzo: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?njia = ~ / aspnet / sampuli / ujanibishaji / LocalizePers.src&faili = LocalizePers_cs\LocalizePers_cs.aspx&lang = C 23% chanzo
Mimi nina mawazo handler HTTP na mtiririko zifuatazo:
1. Ombi huja katika, kuangalia cookies kwa ajili ya kuki kikao kwa ajili ya upendeleo lugha (kikao cha kuki inaisha wakati browser ni kufungwa)
2. Kuangalia kama ombi ni kwa ajili ya ukurasa ASPX, kama si, ruka ombi
3. Kama ipo kuki, kuweka header lugha ya thamani maalum. Wewe ni kufanyika!
4. Hakuna kuki, kuchukua credential kujitambulisha na kuangalia mtumiaji hadi katika SPS, kupata lugha ya upendeleo
5. Kuweka kuki header na HTTP header lugha. Kufanyika.
Kwanza APX ukurasa ombi itakuwa na uendeshaji wa lookup SPS lakini kila ombi kutoka hapo juu na kuwa hakuna lookups hivyo itakuwa asili kasi. Hakuna haja ya kikao cache au yoyote nyingine Rudia kwa kutumia kuki kikao pia. Mara baada ya browser ni kufungwa, kuki kikao huenda zake. Kama mtumiaji mabadiliko ya lugha zao upendeleo katika SPS wao tu haja ya karibu na re-kufungua kivinjari kwa kuwa na kuchukua athari.
kweli handler http si katika ngazi ya IIS…ni katika ngazi ya maombi (ISAPI Filters ni katika ngazi IIS)…napenda kuwa makini BC SP ana handler yake mwenyewe…hivyo kuwa na uhakika mtihani ni nje…Nimekuwa hivyo kabla lakini wamekuwa na baadhi ya migogoro na handler SP.
Napenda kuwa na kupendelea kutumia HTTPHandler, Sababu pekee ni kwamba mimi si kama kugusa files SharePoint. Plus ni rahisi kujenga ufumbuzi SharePoint kupeleka HttHandler ( na kutumia API SPWebConfig ni kurekebisha web.config). Kuwa mzigo mtumiaji kufanya, Ningependa kufikiria una shamba sizable, wewe kweli hawataki kwenda files modifiying kwenye server kila.
Kupeleka faili global.asa kupitia ufumbuzi ni wazo mbaya, kama wewe ni retract, faili yako ya awali ni gone …
Pia kuwa na uwezo wa retract ufumbuzi haraka inaweza kuwa ni wazo nzuri, katika kesi ya mambo kwenda vibaya na perf ya handler.