Пожалуйста, посмотрите ответ Шона Стила, который лучше объясняет, почему это не удается.
веб-приложение Azure выбрасывает ошибки, связанные с культурой, которая не поддерживается. Мы загружаем список стран, чтобы показать на первой странице, но это внезапно дает ошибки. Этот же код используется и в других веб-приложениях, и у них нет проблем.
Следующий код дает проблему.
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();
}
Я поместил пробный улов для каждого, чтобы я мог точно определить культуры, которые дают ошибки. Следующие культуры неожиданно возвращают ошибки:
<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>
Может кто-нибудь помочь мне с этим вопросом? Я не могу понять, почему это веб-приложение вдруг выдает эти ошибки.