System.DBNull с именем контракта данных, не ожидаемым в WCF

Возможный дубликат:
Почему мой DbNull не является синглтоном, когда я десериализую его с помощью XmlSerialiser?

У меня есть массив объектов, который я передаю вызову WCF, который имеет DBNull.Value в качестве одного из значений. WCF, по-видимому, задыхается от этого, потому что не знает, как его сериализовать.

Поиск в Google показывает только людей, которые заменили DBNull.Value на что-то другое. Должен ли я это делать, или у меня есть способ сериализовать DBNull.Value на клиенте в то же самое на сервере?


person Lurker Indeed    schedule 04.12.2009    source источник
comment
Как DBNull.Value вообще попал на сторону клиента?   -  person Simon Fox    schedule 04.12.2009


Ответы (1)


См. этот предыдущий пост.

Почему мой DbNull не является синглтоном когда я десериализую его с помощью XmlSerialiser?.

Кроме того, в стороне, DBNull, вероятно, не должен плавать на вашем сервисном уровне, хотя иногда всегда есть причина :)

person MattC    schedule 04.12.2009
comment
да, я действительно предпочел бы, чтобы его там не было. Мой обходной путь закончился переводом DBNull во что-то, что нравится WCF. Не смейся! - person Lurker Indeed; 07.12.2009
comment
Здесь не до смеха, это именно то, что вы должны делать. Определите детали контракта, а затем сопоставьте любой конец, чтобы он соответствовал этим контрактам. Итак, DBNull не должен быть на той стороне сервиса, но эй, иногда вам просто нужно, чтобы он работал;) - person MattC; 07.12.2009