2017-06-07 34 views
1

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端口 –

回答

0

這實際上不應該被稱爲答案。它只是一個補丁。 根據意見,我已經刪除了.ToString &現在我的代碼看起來像。

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

相同的代碼庫指向同一數據庫&同一個存儲過程在同一服務器中製作只是SSL的差。這需要搜索..