Şu anki projem, bazı kullanıcılar farklı yerler geldikleri zaman ve dünya çapında seyahat edecek, Ne olursa olsun makine sırasında kullanışlı olan kullanın. Bu ortalama makineleri Windows çalıştıran ve yüklü ve yapılandırılmış yerel yerel ayar için. (Ortalama makineleri doğru dil paketleri olmayabilir fark ettim… muhtemelen olmayacak, Aslında… Şimdi bir tane park ediyorum).
SharePoint bir mekanizmaya mademki kullanıcı kendi tercih edilen dili seçin ve bu dil ne olursa olsun nasıl MOSS kullanıcı eriştiğinde onur MOSS var gerekiyor. Başka bir deyişle, ne derse onu tarayıcı IIS/MOSS göz ardı ve bunun yerine tercih edilen o lisanı bak ve kullanmak.
İki yaklaşım araştırmak için gidiyoruz:
- HTTP işleyicisi: IIS yüklü özel bir HTTP işleyicisi kullanıcının MOSS profil görünecektir, tercih edilen dili rakam ve çevresinde HTTP üstbilgisinin gerektiği gibi denetim için yosun geçirmeden önce geçiş.
- Global.asax: Global.asax aynı şeyi yapmak için değiştirme. Başka bir şey değiştirebilir, Ama fikir nerede bizim yerel ayarları arasında geçiş yapma mantığı ekleyebilirsiniz bir yer bulacağız.
Diğer zorlaştıran bir faktör kullanıcılara destek 60 k ihtiyacımız olan, hakkında 1,000 hangi aynı anda MOSS zirvesinde erişiyor olabilir yük.
HTTP işleyicisi oldukça ciddi görünüyor., Ama ondan beri onun IIS düzeyi ve her şeyi bilen koymak belgili tanımlık şifre için muhtemelen en iyi yer. İş iyi tek noktasıdır.
Global.asax tipi yaklaşım doğru eğik, Çünkü esas olarak inandığımız noktada verileri önbelleğe almak için daha fazla seçeneğe sahip olursunuz.
Daha fazla bilgi olarak bu konuda daha fazla bloglama olacak.
Bu konuda bilginiz varsa, please post a comment 🙂
</sonunda>
Heyecan beni izleyin http://www.twitter.com/pagalvin
Öylesine Im'değil emin eğer o inşaat bu denemedim.
Page sınıfının bir InitializeCulture vardır() yöntemini geçersiz kılınabilir. Eğer bu özel masterpage içinde kodunu, hat boyunca bir şey:
korumalı geçersiz geçersiz InitializeCulture()
{
// InitializeCulture sanal yöntemi geçersiz() profil kullanıcı dil ayarını içerip içermediğini kontrol etmek
UserCulture string GetCultureFromUserProfile =();
Eğer ( UserCulture != "")
{
// profilde kullanıcı dil ayarı: geçiş yapmak
Thread.CurrentThread.CurrentUICulture = yeni CultureInfo(UserCulture);
Thread.CurrentThread.CurrentCulture CultureInfo.CreateSpecificCulture =(UserCulture);
}
}
Belli ki bazı bu yöntemin uygulanması önbelleğe alma inşa edebilirsiniz.
Kaynak: http://quickstarts.asp.net/QuickStartv20/util/srcview.aspx?PATH=~/ASPNET/Samples/Localization/LocalizePers.src&dosya LocalizePers_cs =\LocalizePers_cs.aspx&lang = C % 23 kaynak
HTTP işleyicisi aşağıdaki akış ile düşünüyorum.:
1. İstek geliyor, dil tercihi için bir oturum tanımlama bilgisi için çerezleri kontrol (Tarayıcıyı kapattığınızda oturum tanımlama bilgileri tarihi:)
2. İstek için ASPX sayfası olup olmadığını kontrol edin, Eğer değilse, istek atla
3. Tanımlama bilgisi varsa, Belirtilen değer için dil ayarlamak. Bitti mi!
4. Tanımlama bilgisi, kimlik doğrulama bilgileri almak ve SPS içinde kullanıcı aramak, dil tercihi bulmak
5. Cookie üstbilgisinin ve HTTP dil başlığını ayarla. Bitmiş.
İlk APX sayfa isteği SPS işlevinin yükü vardır ancak o andan itibaren her isteği var yerli hız-ecek var olmak öylesine hayır aramaları. Oturum önbelleği veya diğer ek yükü de oturum çerezi kullanarak gerek yok. Tarayıcı kapatıldıktan sonra, oturum tanımlama goes away. Kullanıcı kendi dilleri tercih SPS olarak değişirse sadece yakın ve açık belgili tanımlık kaş için etkili olabilmesi için yeniden ihtiyaçları.
http işleyicisi IIS düzeyinde değil aslında…uygulama düzeyinde olduğunu (ISAPI filtreleri IIS düzeyinde olan)…m.ö. SP kendi işleyicisi vardır dikkatli olurdum…Bu test etmeyi unutmayın…Ben daha önce yaptım ama SP işleyicisi ile bir çatışma oldu.
I-cekti var olmak daha fazla eğimli bir HTTPHandler kullanmak için, SharePoint dosyaları dokunmadan sevmiyorum tek sebebi. Artı bir HttHandler dağıtmak için SharePoint çözüm oluşturmak kolaydır ( ve SPWebConfig API'ın web.config değiştirmek için). Kullanıcı yükü olan yapmak, Oldukça büyük bir çiftlik var hayal olur, Gerçekten modifiying dosyaları her sunucuda gitmek istemiyorum.
Global.asa dosyası yolu ile bir çözüm dağıtma kötü bir fikirdir, Onu geri çek yoksa, dosyanızı öldü …
Ayrıca yetenek hızlı çözümü geri çekmek için olması iyi bir fikir olabilir, -dibi takdirde işleyici perf ile terslik oldu.