Процесс.Начать задавать культуры


В одном веб-приложении у меня есть IHttpHandler, который при вызове запускает обычное приложение, которое подключается к базе данных firebird и среди прочего анализирует некоторые даты из базы данных.

При запуске с рабочего стола приложение делает то, что должно без каких-либо проблем. Но когда он запускается из httpHandler это заканчивается с неправильной культурой и не удается проанализировать даты. Я установил культуру, которую я и веб.config и CurrentThread.CurrentCulture но это все равно заканчивается и не с тем человеком. Все это выполняется с английского Windows Server 2003 с культурой, установленной в sv-SE.

Итак, есть способ запустить приложение с помощью System.Диганотики.Процесс.Начать с определенной культуры? Если нет, то какую культуру использует вновь запущенный процесс?

1 7

1 ответ:

Я не думаю, что есть способ определить культуру. Класс CultureInfo специфичен для .NET, и, насколько мне известно, в windows нет специфичного для приложения понятия культуры. Невозможно указать язык и региональные параметры с помощью классов Process и ProcessStartInfo.

Однако я считаю, что культура связана с текущим пользователем, поэтому может случиться так, что ваше веб-приложение работает в контексте другого пользователя, поэтому при запуске из веб-приложения другое приложение получает свой' параметры культуры пользователей. Таким образом, можно изменить язык и региональные параметры для пользователя, который используется для запуска веб-приложения.

С другой стороны, если вы запускаете приложение .NET, вы можете просто жестко закодировать в него культуру.