IIS (v10)服务器上运行着一个IIS。
在我的开发环境中,一个特定的端点按预期返回MySQL数据库表中的所有行(在Swagger和client中都是如此)。
在发布api并使用新发布的文件夹更新服务器(并回收应用程序池)之后,同一个端点返回一个错误,抱怨一个字符串不能被识别为DateTime:字符串'14/12/2021‘不能被识别为有效的DateTime。如果我将开发前端指向已部署的api,则会得到相同的错误。开发和部署的apis都使用相同的数据库连接字符串(解决方案尚未启用)。
不久前,对表进行了更改,将DateTime字段替换为varchar字段,以存储日期的字符串表示形式。
我已经清理和重建了api项目,但没有效果。
部署的api中的其他端点按预期工作。
对于什么可能导致部署的api不反映最新版本的代码,有什么想法吗?
发布于 2021-12-14 14:35:40
当解析你的日期时,它很可能是试图把它解析为一个美国日期,例如MM/DD/YYYY,所以既然没有14个月,它就失败了。
如果您正在查看dd/mm/yyyy格式,那么请查看以下内容:
using System.Globalization;
DateTime date = DateTime.Parse(theDateVariable, CultureInfo.CreateSpecificCulture("en-GB"));或
DateTime date = DateTime.ParseExact(theDateVariable, "dd/MM/yyyy", CultureInfo.InvariantCulture)所以,并不是代码更改没有得到反映,而是代码被破坏了,因此"String‘14/12/2021“没有被识别为有效的DateTime。错误。
https://stackoverflow.com/questions/70346566
复制相似问题