Mono: ошибки сериализации DateTime и десятичной сериализации - PullRequest
1 голос
/ 01 апреля 2011

У меня проблемы при сериализации / десериализации.

Я использую службу WCF (которая использовала .NET Framework) и клиент, созданный в Mono.

Клиент вызывает службу ион получает DateTime объектов.Это ошибка:

Exception in async operation: System.ArgumentOutOfRangeException: Value -8588999498056367604 is outside the valid range [0,3155378975999999999].
Parameter name: ticks

Другая проблема заключается в следующем.

Клиент вызывает другую службу и получает значение десятичное .Когда я запускаю вызов, клиент выходит из строя и запускает это исключение:

System.NotImplementedException: ValueType 148 on node Text
  at System.Xml.XmlBinaryDictionaryReader+NodeInfo.get_Value () [0x001e8] in /Developer/MonoTouch/Source/mono/mcs/class/System.Runtime.Serialization/System.Xml/XmlBinaryDictionaryReader.cs:191

Как можно исправить эти проблемы?Спасибо.

1 Ответ

2 голосов
/ 05 апреля 2011

Для вашей первой проблемы, проверьте этот пост:

http://lists.ximian.com/pipermail/mono-bugs/2010-December/107338.html

Что такое тип DateTime? Если это Utc или Local, попробуйте отправить DateTime с DateTimeKind.Unspecified и посмотрите, есть ли у вас такая же проблема. Если так, я думаю, что вы столкнулись с этой ошибкой: https://bugzilla.novell.com/show_bug.cgi?id=660424

Вы можете проверить, существует ли такая же проблема в текущем моно мастере. Другой обходной путь может состоять в том, чтобы просто отправить DateTime как long, а затем восстановить его на клиенте.

Ваша вторая проблема: я не уверен: стек, похоже, ссылается на MonoTouch? Вы запускаете это на iPhone? Здесь поможет полный пример кода.

...