が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")
両方のサイトが同じデータベースを指していますか?そうでない場合は、データベースが同じであると確信していますか? 2つのことが異なる可能性があります。ストアドプロシージャが異なるため、パラメータが異なります。または、ロケールが異なる可能性があります。エラーは、nvarcharをdatetimeに変換することです。 nvarcharは、しばしばSQLデータ型です。 'MM/dd/yyyy'という形式の文字列に変換し、それをprocに渡します。データベースのロケールが 'dd/mm/yyyy'を予期している場合、23が有効な月ではないため、チョークします。 – GregHNZ
フットパスの日付は、ストアドプロシージャの日付です。それらを文字列(varchar)として渡す必要はありません。 – Evk
@GregHNZはい、どちらも同じデータベースを使用しています。同一の資格情報を持つ同じdbであるため、ロケールは異なることはできません。同じコードベースも使用されます。私は単にsslサイトを非SSLポートにコピーしました –