Ar mo tionscadal reatha, Beidh cuid de na úsáideoirí taisteal ar fud an domhain agus nuair a shroicheann siad scríbe éagsúla, use whatever machine is handy at the time. Those guest machines will be running Windows and installed and configured for the local locale. (Tá mé díreach tar thuig gur féidir nach bhfuil na meaisíní aoi na pacáistí teanga ceart… Ní dócha, i ndáiríre… Tá mé ag páirceáil go bhfuil ceann do anois).
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.
Táimid ag dul chun imscrúdú a dhéanamh ar dhá chur chuige:
- HTTP Handler: Beidh HTTP láimhseálaí saincheaptha suiteáilte ar IIS breathnú suas an úsáideora phróifíl MOSS, figiúr amach an teanga is rogha agus ansin athrú ar an header HTTP timpeall ag teastáil mar roimh dul a rialú go CAONAIGH.
- 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.
Is é an fachtóir complicating eile gur gá dúinn chun tacú le húsáideoirí 60k, faoi 1,000 Is féidir a bheith ag an am céanna rochtain MOSS ag bhuaicualaigh.
Dealraíonn sé an láimhseálaí HTTP leor 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.
Táimid ag leaning i dtreo cur chuige chineál global.asax, den chuid is mó mar creidimid go beidh orainn roghanna níos mó le haghaidh sonraí a caching ag an bpointe sin.
Feicfidh mé a bheith blogging níos mó ar an ábhar seo mar a fhoghlaim mé níos mó.
Má tá a fhios agat rud ar bith faoi seo, please post a comment 🙂
</deireadh>
Lean mé ar Twitter ag http://www.twitter.com/pagalvin
Nach bhfuil mé tástáil seo mar sin níl mé cinnte má oibríonn sé.
Tá an rang Leathanach ar InitializeCulture() modh is féidir a bheith sáraithe. Má dhéanann tú é seo sa chód taobh thiar de do masterpage saincheaptha, rud a d'fhéadfadh tú a dhéanamh feadh na línte:
cosanta InitializeCulture neamhní shárú()
{
// shárú InitializeCulture modh fíorúil() a sheiceáil má tá próifíl suíomh teanga úsáideora
teaghrán UserCulture = GetCultureFromUserProfile();
más rud é ( UserCulture != "")
{
// tá leagan teanga úsáideora sa phróifíl: aistriú chuige
Thread.CurrentThread.CurrentUICulture = nua CultureInfo(UserCulture);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(UserCulture);
}
}
Gan amhras is féidir leat a thógáil roinnt caching i bhfeidhm an modh seo.
Foinse: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?cosán = ~ / aspnet / samplaí / logánú / LocalizePers.src&file = LocalizePers_cs\LocalizePers_cs.aspx&lang = C% 23 fhoinse
Tá mé ag smaoineamh láimhseálaí HTTP leis an sruth a leanas:
1. Tagann Iarratas i, fianáin seiceáil a dhéanamh maidir fianán seisiúin do rogha teanga (fianáin seisiún in éag nuair a bhíonn an bhrabhsálaí dúnta)
2. Seiceáil má tá iarratas leathanach ASPX, más rud é nach, skip iarraidh
3. Más ann fianán, an header teanga a leagtar ar an luach a shonraítear. Tá tú ag déanamh!
4. Uimh fianán, a chur ar an credential fíordheimhniú agus táim an t-úsáideoir suas i SPS, teacht ar rogha teanga
5. Socraigh header fianán agus header HTTP teanga. Arna dhéanamh.
Beidh an chéad iarratas leathanach Apx bhfuil forchostais de SPS lookup ach gach iarratas ó shin ar aghaidh leis nach bhfuil aon lookups sin a bheith luas an chainteora dúchasaigh. Níl gá le haghaidh taisce seisiún nó aon forchostais eile ag baint úsáide as fianán seisiúin ró-. Nuair atá an bhrabhsálaí dúnta, Téann an fianán seisiúin ar shiúl. Má athraíonn an t-úsáideoir a dteangacha rogha i SPS dhíth orthu ach a dhúnadh agus a ath-oscailt an bhrabhsálaí chun é éifeacht a ghlacadh.
i ndáiríre nach bhfuil an láimhseálaí http ag an leibhéal IIS…Tá sé ag an leibhéal t-iarratas (Tá Scagairí ISAPI ag an leibhéal IIS)…Ba mhaith liom a bheith cúramach bc SP Tá a láimhseálaí féin…sin a bheith cinnte a thástáil sé amach…Mé a rinneadh é roimh ach nach raibh roinnt coimhlint leis an láimhseálaí SP.
Ba mhaith liom a bheith níos claonta a úsáid HTTPHandler, Is é an chúis amháin nach maith liom íor na comhaid SharePoint. Plus tá sé éasca a chruthú ar réiteach SharePoint a imscaradh HttHandler ( agus úsáid a bhaint as an API SPWebConfig Tá a mhodhnú web.config). Ag an t-ualach úsáideora a dhéanann tú, Ba mhaith liom a shamhlú go bhfuil tú ar fheirm sizable, tú i ndáiríre nach bhfuil ag iarraidh dul comhaid modifiying ar gach freastalaí.
Tá Imscaradh an comhad global.asa trí réiteach droch-smaoineamh, má tá tú retract sé, Is é do chomhad bunaidh imithe …
Chomh maith leis sin d'fhéadfadh a bhfuil an cumas chun retract an réiteach a bheith go tapa ag smaoineamh maith, i gcás théann rudaí mícheart le perf an láimhseálaí.