问题描述
App 1.使用DateTime.Now值(11/11/2020 03:44:53)设置请求标头
App2。读取请求标头并具有DateTime值(2020/11/11上午03:44:53)
DateTime.Parse(“ 2020/11/11上午03:44:53”)在应用2中引发异常。
关于DateTime为什么使用汉字,我们忽略了什么?我们还有其他示例,其中App 2 DateTime值具有朝鲜语字符。显然,这是基于最终用户及其浏览器的位置,但这如何决定服务器上的DateTime值?
App 1是.NET Framework 4.7.2(对于向App2的HttpClient请求,使用的是.NETStandard 2.0类库)
App 2是.NET Framework 4.7.2
表示赞赏。
更新1:
一切都在本地为我们在美国的所有开发人员提供。目前,该产品似乎仅在亚洲用户生产中出现。
我们在某些文本中使用资源文件,资源文件会自动更改.NET应用程序的工作方式,以在服务器上为DateTime使用不同的CultureInfo吗?
更新2:
原始代码:
const containerRef = useRef();
const { current } = containerRef;
useEffect(setLinksData,[current]);
return (
<div ref={containerRef}>
// your child elements...
</div>
)
我们尝试了以下方法来缓解这种情况:
client.DefaultRequestHeaders.Add("xxx",DateTime.Now.AddSeconds(60).ToString());
解决方法
这实际上是全球化,我们在web.config中拥有<globalization requestEncoding="utf-8" responseEncoding="utf-8" uiCulture="en-US" culture="en-US" />
,但另一个开发人员已在<%@ Page %>
标记中将其明确覆盖为“ auto ”。 Auto使用最终用户浏览器来定义页面的区域性。
<%@ Page Culture="auto" UICulture="auto" Language="C#"
MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="Default" %>