2012-01-10 2 views
0

Мы используем веб-службы .NET 2.0 ASMX на сервере Windows 2003 на IIS 6.0. Мы перенесли устаревшее приложение VB 6.0 в приложение .NET 2.0 с помощью VB.NET. Функция CDATE используется во многих местах, и мы не заменили ее на .NET-функции даты. После миграции код работал отлично в течение многих лет.Ошибка функции CDate в IIS 6.0, сервер Windows 2003

В последнее время мы начали сталкиваться проблемы на наших производственных серверах, где ниже код не:

CDate ("11 июля 2011 21:10:27")

Ошибка: Преобразование из строки «11 июля 2011 21:10:27 "для ввода« Дата »недействительно.

Если мы выполняем 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

Смежные вопросы