Ошибка в ASP.NET 2.0 при обработке культуры браузера - PullRequest
0 голосов
/ 16 декабря 2011

У меня есть этот параметр в моей веб-конфигурации:

<globalization culture="auto" uiCulture="auto"/>

Код скомпилирован в VS 2010.

Если целевая платформа установлена ​​на .NET 2.0 или 3.0, то она работает толькодля IE, и я получаю эту ошибку в Chrome

"Культура 'es' является нейтральной культурой. Она не может использоваться при форматировании и синтаксическом анализе и, следовательно, не может быть установлена ​​в качестве текущей культуры потока."

Если целевой платформой является .NET 4.0, она работает как для IE, так и для Chrome.

Это ошибка в ASP.NET 2.0 / 3.0?Есть ли исправление для этого?

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Завершено с использованием CultureInfo.CreateSpecificCulture.Это работает большую часть времени.

.NET 4 позволяет установить нейтральную культуру для форматирования.Он выбирает культуру с наибольшим населением для этого языка, вот что я слышал.

0 голосов
/ 16 декабря 2011

Похоже, это может быть ошибка. Не могли бы вы опубликовать трассировку стека?

Вы также можете попытаться просмотреть заголовок Accept-Language, отправленный двумя браузерами, используя инструмент, такой как Fiddler, чтобы понять разницу.

Обратите внимание, что с IE вы можете контролировать то, что отправляется в заголовке Accept-Language. Просто откройте IE и в Инструменты / Свойства обозревателя / Общие нажмите кнопку Языки. Нажмите на Добавить и напр. добавьте пользовательский язык "es" и переместите его в начало списка.

UPDATE

Звучит как проблема, описанная в этом вопросе StackOverflow .

Трассировка стека в этом вопросе показывает, что исключение выдается в установщике свойств Page.Culture. Я бы сказал, что это ошибка; и, вероятно, исправлено в последних версиях Framework (я не могу воспроизвести его с .NET 3.5 и последними пакетами обновлений).

...