2012-01-10 9 views
0

IIS 6.0のWindows 2003サーバーで.NET 2.0 ASMX Webサービスを実行しています。従来のVB 6.0アプリケーションをVB.NETを使用して.NET 2.0アプリケーションに移行しました。 CDATE関数は多くの場所で使用されており、.NET同等の日付関数で置き換えられませんでした。移行後、コードは何年もうまく機能していました。IIS 6.0、Windowsサーバー2003のCDate関数エラー

最近、我々は以下のコードが失敗した私たちの本番サーバー上で問題に遭遇し始めている:

CDATE(「2011年7月11日午前21時10分27秒」)

エラー:文字列から変換「7月11日2011 21:10:27 "と入力すると、 'Date'は無効です。

iisresetを実行すると、同じコードがうまく動作します。これは、Windowsサーバー/ .NETパッチの最新のパッチが原因である可能性がありますか?

この問題を解決するためにご協力ください。

おかげで、 Gayathri

+0

地域の設定に問題があります。たぶんこの記事は関連性があります: - http://stackoverflow.com/questions/1059930/a-better-cdate-for-vb6 –

+0

IISRESETの後に同じコードがうまく動作するので、地域設定に関連するとは思わない –

+0

あなたのアプリケーションに現在のカルチャーを設定するコードがありますか?現在のスレッドでCurrentCultureプロパティを設定すると、この種の操作に影響し、IISResetはコードが再度呼び出されるまで修正します。 – BenR

答えて

0

あなたはこのような何かに変換しようとすることができます

Dim dateString As String = "11 Jul 2011 21:10:27" 
    Dim pattern As String = "dd MMM yyyy HH:mm:ss" 
    Dim result As Date = Date.ParseExact(dateString, pattern, Nothing) 

は、より多くの情報のためMSDN ParseExactこれをチェックしてください。しかし、それは何が変わったのか説明していません。

+0

この情報をお寄せいただきありがとうございます。これは問題の代替解決策かもしれません。私は問題の原因を知ることに興味があります。それは定期的に起こりますが、IISRESETの後は完璧に動作します。 –

+0

私のマシン上のリージョン設定が変わらない限り、cdateを使用しても問題はないので、奇妙なことに同意します。 (私はServer 2003とIIS6を使用していません) – Jay

関連する問題