2009-07-07 10 views
6

W jednej aplikacji webowej mam IHttpHandler, który po wywołaniu uruchamia zwykłą aplikację, która łączy się z bazą danych firebird i między innymi analizuje niektóre daty z bazy danych.Proces.Start określ kulturę

Po uruchomieniu z pulpitu aplikacja robi to, co powinno, bez żadnych problemów. Ale kiedy zaczyna się od httpHandler, kończy się błędną kulturą i nie analizuje dat. Ive ustawić kulturę zarówno web.config i CurrentThread.CurrentCulture, ale nadal kończy się na niewłaściwej. Wszystko to jest uruchamiane z angielskiego systemu Windows Server 2003 z ustawieniem kultury na sv-SE.

Czy istnieje sposób na uruchomienie aplikacji z System.Diganotics.Process.Start z określoną kulturą? Jeśli nie ma jakiej kultury używa nowo uruchomiony proces?

+0

Czy możesz wyjaśnić dalej, co próbujesz osiągnąć? – Lazarus

Odpowiedz

2

Nie sądzę, że istnieje sposób na określenie kultury. Klasa CultureInfo jest specyficzna dla .NET i, o ile mi wiadomo, nie ma specyficznej dla aplikacji pojęcia kultury w oknach. Nie ma sposobu na określenie kultury przy użyciu klas Process i ProcessStartInfo.

Uważam jednak, że kultura jest związana z obecnym użytkownikiem, więc co się dzieje, jest to, że aplikacja internetowa działa w kontekście innego użytkownika, więc po uruchomieniu z aplikacji internetowej ta druga aplikacja otrzymuje " ustawienia kultury użytkowników. Dlatego możesz zmienić kulturę (ustawienia regionalne) dla użytkownika, który jest używany do uruchamiania aplikacji internetowej.

Z drugiej strony, jeśli jest to aplikacja ".NET, którą używasz, możesz po prostu zakodować w niej kulturę.

+0

Tak, mam wrażenie, że może to mieć pewne ustawienia użytkownika do zrobienia. Niestety nie jest to aplikacja .NET i nie można go łatwo zmodyfikować. Pozostaje pytanie. Jak zmienić regionalne ustawienie konta systemowego? – Tjelle

+0

Po niewielkiej liczbie badań wygląda na to, że Locale są natywnym odpowiednikiem dla Windowsa .NET's CultureInfo-s. Ogólny opis tutaj: http://msdn.microsoft.com/en-us/goglobal/bb688174.aspx Nie znalazłem możliwości programowej zmiany ustawień narodowych użytkownika. Być może, więc może nie przeszukałem wystarczająco mocno. Może być jakiś sposób, aby to zrobić za pomocą polecenia wiersza poleceń (pytanie kandydata ServerFault?). Jeśli chcesz eksperymentować, możesz spróbować tymczasowo ustawić konto użytkownika jako interaktywne (dodać je do grupy Użytkownicy), zalogować się i zmienić ustawienie za pomocą interfejsu użytkownika. –

Powiązane problemy