为何IIS ASP.NET部署后会出现日期、货币格式异常变更问题
单台IIS服务器日期、货币格式异常解决方案
- 先校验系统级区域配置
打开故障服务器的控制面板→区域:- 「格式」选项卡确认当前区域设置为英语(英国),短日期格式为dd/mm/yyyy,货币符号为£
- 切换到「管理」选项卡,点击「复制设置」,勾选「欢迎屏幕和系统账户」「新建用户账户」,将配置同步到IIS应用池运行的系统级账户,避免登录用户配置和服务账户配置不一致
- 强制指定.NET 应用全球化配置
直接在站点web.config的<system.web>节点下添加如下配置,强制覆盖服务器级默认区域设置,避免环境差异干扰:
也可以通过IIS管理器可视化配置:定位到站点→.NET 全球化,手动将「文化」「UI文化」设置为<globalization culture="en-GB" uiCulture="en-GB" />en-GB - 校验应用池标识的区域注册表配置
如果应用池使用自定义运行标识,打开注册表路径HKEY_USERS\[应用池账户SID]\Control Panel\International,确认以下键值符合预期:sShortDate值为dd/MM/yyyysCurrency值为£
- 清除缓存重启验证
修改完成后执行以下操作,避免缓存导致配置不生效:- 回收对应站点的应用池
- 删除.NET临时编译目录下对应站点的缓存文件,路径为
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files - 重启站点后访问验证格式是否恢复正常
内容的提问来源于stack exchange,提问作者Krist0f
相关产品推荐
相关产品推荐

