ssl&non-ssl站点之间的日期格式问题。 IIS和asp.net

问题描述:

IIS 10,在Windows Server 2016ssl&non-ssl站点之间的日期格式问题。 IIS和asp.net

我有一个奇怪的问题&我发现很难诊断..

我有一个网站,该网站上的SSL。

我有相同的网站代码库是在同一台服务器,但在不同的端口,但不是在SSL上。

现在: 1)来自普通网站当我发送日期为23/06/2017。它正在以我想要的格式正确保存。

2)但是,从SSL网站,当我发送日期为23/06/2017,我得到这个错误。

将数据类型nvarchar转换为datetime时出错。

我需要一些帮助,以便如何诊断此问题。唯一的区别是存在一个SSL证书。

此代码的结果正在作为参数发送到存储过程。

DateTime.ParseExact("23/06/2017", "d/M/yyyy", null).ToString("MM/dd/yyyy") 
+0

这两个网站指向相同的数据库?如果没有,你确定数据库是一样的吗?有两件事情可能会有所不同 - 存储过程可能不同,因此参数不同。或者区域设置可能不同。该错误是关于将nvarchar转换为datetime。 nvarchar通常是一种SQL数据类型。您将其转换为格式为“MM/dd/yyyy”的字符串,并将其传递给proc。如果数据库的语言环境预计为“dd/mm/yyyy”,它会因为23不是有效的月份而窒息。 – GregHNZ

+0

将futute传递日期作为存储过程的日期。没有必要将它们作为字符串(varchar)传递。 – Evk

+0

@GregHNZ是的,他们都使用相同的数据库。语言环境不能不同,因为它是具有相同凭据的相同数据库。也使用相同的代码库。我只是将SSL站点复制到非SSL端口 –

这实际上不应该被称为答案。它只是一个补丁。 根据意见,我已经删除了.ToString &现在我的代码看起来像。

DateTime.ParseExact("23/06/2017", "d/M/yyyy", null) 

相同的代码库指向同一数据库&同一个存储过程在同一服务器中制作只是SSL的差。这需要搜索..