CultureInfo при десериализации объектов в WebService
От: Аноним  
Дата: 03.07.08 04:55
Оценка:
При вызове WebService формируется object[] и вызывается:
<code>
MethodInfo methodInfo = service.GetType().GetMethod("AsyncCall");
if (methodInfo == null || !methodInfo.IsPublic) {
throw new Exception("Метод 'AsyncCall' не найден. Определите метод для сервиса.");
}
if (service.GetType().GetMethod(method) == null) {
throw new Exception(String.Format("Метод '{0}' не найден.", method));
}
//

//сохранение текущего вызова
calls.Add(callState, callState);

//вызов в веб сервисе посредством дополнительного
//метода "AsyncCall" который должен быть в сервисе
methodInfo.Invoke(
service,
new object[] {
method,
parameters,
new System.Threading.SendOrPostCallback(
OnServiceCallCompleted),
callState
});
</code>

При этом, если в качестве параметра передать DateTime (например 31.12.2008, то вызов упадет, потому что при десериализации объекта пытается получить дату по маске MM.dd.yyyy.
Как это победить?
<code>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.