2017-06-07 1 views
1

が10をIISは、Windows Server 2016sslとnon-sslサイトの間に日付形式の問題があります。 IIS&asp.net

私は奇妙な問題を持っている&は、私はSSL上でウェブサイトを持っている、それは難しい...

を診断するために見つけています。

同じWebサイトのコードベースが同じサーバーにありますが、異なるポートにありますが、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

両方のサイトが同じデータベースを指していますか?そうでない場合は、データベースが同じであると確信していますか? 2つのことが異なる可能性があります。ストアドプロシージャが異なるため、パラメータが異なります。または、ロケールが異なる可能性があります。エラーは、nvarcharをdatetimeに変換することです。 nvarcharは、しばしばSQLデータ型です。 'MM/dd/yyyy'という形式の文字列に変換し、それをprocに渡します。データベースのロケールが 'dd/mm/yyyy'を予期している場合、23が有効な月ではないため、チョークします。 – GregHNZ

+0

フットパスの日付は、ストアドプロシージャの日付です。それらを文字列(varchar)として渡す必要はありません。 – Evk

+0

@GregHNZはい、どちらも同じデータベースを使用しています。同一の資格情報を持つ同じdbであるため、ロケールは異なることはできません。同じコードベースも使用されます。私は単にsslサイトを非SSLポートにコピーしました –

答えて

0

これは実際には回答とは限りません。それは単なるパッチです。 コメントごとに私は.ToString &のコードを削除しました。

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

だけSSL差を作る同じサーバーに同じデータベース&同じストアドプロシージャを指す同じコードベース。これを検索する必要があります。

関連する問題