应用程序1。设置带有DateTime的请求标头。当前值(2020年11月11日03:44:53(
应用程序2。读取请求标头并具有DateTime值(2020/11/11上午03:44:53(
日期时间。Parse("2020/11/11上午03:44:53"(在应用程序2中引发异常。
关于DateTime为什么使用汉字,我们忽略了什么。我们还有其他示例,其中作为应用程序2的DateTime值具有朝鲜语字符。这显然是基于最终用户及其浏览器的位置,但这是如何决定服务器上的DateTime值的?
应用程序1是。NET Framework 4.7.2(使用.NET Standard 2.0的类库来处理对App2的HttpClient请求(
应用程序2是。NET框架4.7.2
思想受到赞赏。
更新1:
对于我们在美国的所有开发人员来说,一切都在本地进行。此时此刻,它似乎只在为亚洲用户生产。
我们正在使用资源文件来处理一些文本,做资源文件的方式会自动改变。NET应用程序是否可以在服务器上使用不同的CultureInfo作为DateTime?
更新2:
原始代码:
client.DefaultRequestHeaders.Add("xxx", DateTime.Now.AddSeconds(60).ToString());
我们尝试了以下方法来缓解这种情况:
client.DefaultRequestHeaders.Add("xxx", DateTime.Now.AddSeconds(60).ToString("G", CultureInfo.CreateSpecificCulture("en-US")));
事实上,这是全球化,我们在web.config中有<globalization requestEncoding="utf-8" responseEncoding="utf-8" uiCulture="en-US" culture="en-US" />
,但另一个开发人员在<%@ Page %>
标记中将其显式重写为">自动";。Auto使用最终用户浏览器来定义页面的区域性。
<%@ Page Culture="auto" UICulture="auto" Language="C#"
MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="Default" %>