加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET应用程序不反映区域设置

发布时间:2020-12-15 22:24:55 所属栏目:asp.Net 来源:网络整理
导读:我已经在我的区域设置(捷克语,文化cs-CZ)中设置了以下短时间/长时间模式: 短时间:嗯 好久不见:H.mm.ss 我正在尝试在C#应用程序中使用这些设置. 在以下控制台应用中,一切正常: 使用系统; 使用System.Globalization; class Program{ static void Main() {
我已经在我的区域设置(捷克语,文化cs-CZ)中设置了以下短时间/长时间模式:

>短时间:嗯
>好久不见:H.mm.ss

我正在尝试在C#应用程序中使用这些设置.
在以下控制台应用中,一切正常:

使用系统;
使用System.Globalization;

class Program
{
    static void Main()
    {

        Console.WriteLine(CultureInfo.CurrentCulture.Name);
        Console.WriteLine(CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern);

        Console.ReadLine();
    }
}

正如我想的那样,输出如下:

cs-CZ
H.mm.ss

我创建了ASP.NET应用程序,令我惊讶的是,它没有反映出这一点.

最小的例子:

<%@ Page Language="C#" %>

<%= System.Globalization.CultureInfo.CurrentCulture.Name %><br />
<%= System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.LongTimePattern %>

输出:

cs-CZ
H:mm:ss

我试过重启,.NET2.0,.NET4.0,仍然没有效果.

注意 – 这个问题是bug的一部分,我们忘记在DateTime.ToString()中包含InvariantCulture,然后由JSON反序列化器解析. (有这个问题的人有一些不同的时间格式分隔符).

修复重新创建CultureInfo的问题并不是我想要的,我只是想看看原因,因为我无法以任何方式重现问题.

解决方法

问题是区域设置是用户特定的.您为他们更改了它们,但该站点以不同的用户身份运行(请参阅IIS中的应用程序池)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读