IIS 6.0,Windows Server 2003中的CDate函数错误

我们在IIS 6.0上的Windows 2003服务器上运行.NET 2.0 ASMX Web服务。 我们已经使用VB.NET将传统的VB 6.0应用程序迁移到.NET 2.0应用程序。 CDATE函数在很多地方使用,我们没有用.NET等价的date函数replace它。

迁移后,代码工作很多年。

最近,我们在下面的代码失败的产品服务器上遇到了问题:

CDATE(“2011年7月11日21时10分27秒”)

错误:从string“2011年7月11日21时10分27秒”转换为键入“date”无效。

如果我们执行iisreset,则相同的代码开始正常工作。

这可能是由于Windows服务器/ .NET补丁最近的一些补丁? 请帮助我们解决这个问题。

一般build议:不要使用IISReset。 只回收有问题的应用程序池。

这不会解决问题,但恢复服务时将导致更less的停机时间。

我可能是错的,但我怀疑它适用于某些date而不适用于其他date。

为了识别和处理date,CDate函数从系统区域设置中派生出理想的date格式。 检查服务器上的区域设置,确保input格式与系统date格式相匹配。

理想情况下,通过从IFormatProvider接口获取date时间格式,以编程方式解决此问题: http : //msdn.microsoft.com/en-us/library/9xk1h71t.aspx