Nasza niebieska aplikacja internetowa Azure wyłudza błędy dotyczące kultury, która nie jest obsługiwana. Załadujemy listę krajów do wyświetlenia na pierwszej stronie, ale to nagle daje błędy. Ten sam kod jest używany również w innych aplikacjach internetowych i nie ma problemu.Kultura nagle nie jest już obsługiwana w aplikacji internetowej Azure.
Poniższy kod stanowi problem.
private List<SelectListItem> Countries()
{
RegionInfo country = new RegionInfo(new CultureInfo("nl-BE", false).LCID);
List<SelectListItem> countryNames = new List<SelectListItem>();
foreach (CultureInfo cul in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
country = new RegionInfo(new CultureInfo(cul.Name, false).LCID);
countryNames.Add(new SelectListItem() { Text = country.DisplayName, Value = country.DisplayName });
}
return countryNames.GroupBy(x => x.Text).Select(x => x.FirstOrDefault()).ToList<SelectListItem>().OrderBy(x => x.Text).ToList();
}
Umieściłem try-catch w for-each, dzięki czemu mogę wskazać kultury, które dają błędy. Następujące hodowle nagle powrocie błędy:
<errors>
<LCID>4096</LCID>
<Name>ar-001</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>el-CY</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-BB</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-BS</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-HK</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-NL</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>en-SE</Name>
</errors>
<errors>
<LCID>4096</LCID>
<Name>es-419</Name>
</errors>
Czy ktoś może mi pomóc w tej kwestii? Nie wydaje mi się, żeby to miało sens, dlaczego ta aplikacja internetowa nagle podaje te błędy.
Mam dokładnie taki sam problem jak z kilka godzin temu! Zdecydowanie podejrzewam, że jest to aktualizacja/zmiana Microsoft Azure, która powoduje, że nie mamy do czynienia z naszą witryną przez wiele tygodni. Przez cały czas wyświetlany jest następujący komunikat o błędzie (czasami mogę uzyskać dostęp do strony internetowej, powiedzmy 1% czasu): Kultura nie jest obsługiwana. Nazwa parametru: kultura 4096 (0x1000) jest nieprawidłowym identyfikatorem kultury. – hamish
Proszę spróbować wykorzystać to polecenie powershell "[system.Globalization.CultureInfo] :: GetCultures (" AllCultures "), aby pobrać obsługiwane kultury, uzyskując dostęp do" Debug console> PowerShell "wewnątrz [KUDU] (https: //blogs.msdn .microsoft.com/benjaminperkins/2014/03/24/using-kudu-with-windows-azure-web-sites /). Następnie spróbuj znaleźć, czy możesz znaleźć powyższe kultury. –
To polecenie nie zadziałało dla mnie (spowodowało błąd), ale to zrobiło: [system.Globalization.CultureInfo] :: GetCultures ("FrameworkCultures") i wydawało się, że zwróci wszystkie kultury, w których spodziewałem się zainstalować w Serwer MS Windows/VM. – hamish