Aplikacja ASP.NET nie odzwierciedla ustawień regionalnych
Ustawiłem w moich ustawieniach regionalnych (dla języka czeskiego, kultura cs-CZ) wzór krótkiego czasu / długiego czasu do następującego:
Krótki czas: H.mmDługi czas: H.mm.ssPróbuję użyć tych ustawień w aplikacjach C #. W następującej aplikacji konsoli wszystko działa:
korzystanie z systemu; przy użyciu System.Globalization;
class Program
{
static void Main()
{
Console.WriteLine(CultureInfo.CurrentCulture.Name);
Console.WriteLine(CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern);
Console.ReadLine();
}
}
Wynik jest, jak myślałem, następujący:
cs-CZ
H.mm.ss
Stworzyłem aplikację ASP.NET, która, ku mojemu zdziwieniu, nie odzwierciedla tego.
Minimalny przykład:
<%@ Page Language="C#" %>
<%= System.Globalization.CultureInfo.CurrentCulture.Name %><br />
<%= System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern %>
Wydajność:
cs-CZ
H:mm:ss
Próbowałem zrestartować, .NET2.0, .NET4.0, nadal nie działa.
Uwaga - Ten problem pojawił się jako część błędu, w którym zapomnieliśmy dołączyć InvariantCulture dla DateTime.ToString (), który powinien być następnie analizowany przez JSON deserializer. (Facet z tym problemem ma nieco inny separator formatu czasu).
Naprawienie problemu z ponownym tworzeniem CultureInfo nie jest czymś, czego szukam, chcę tylko zobaczyć powód, ponieważ nie byłem w stanie odtworzyć problemu w jakikolwiek sposób.