Я испытываю некоторые трудности со службами RIA WCF, аналогичные проблеме, указанной в этой теме .
Метод создаваемой мной службы домена (метод Query) должен занятьпараметр сложного объекта.пример метода domainservice:
public ComplexObjectResult GetComplexObject(ComplexObjectParameter test)
{
//do stuff
}
объект параметра:
public class ComplexObjectParameter
{
[Key]
public decimal ID { get; set; }
... other fields
}
Я получаю эту ошибку компиляции: Ошибка 70 Параметр 'test' записи операции домена 'GetComplexObject' должен бытьодин из предопределенных сериализуемых типов .
После некоторых поисков в Интернете я нашел этот поток сообщений MSDN .В нем говорится, что это ограничение служб RIA, и поток не определяет достойных обходных путей.
Теперь, кажется, есть некоторые грязные обходные пути:
Измените комплексный параметр навведите string и сериализовать / десериализовать параметробъект самостоятельно, что я считаю очень хакерским решением.
Используйте тег [Invoke] в методе службы домена и потеряйте все функции отслеживания RIA, для которых япрежде всего, используя RIA.
Существуют ли альтернативы для упомянутых решений, которые имеют меньше недостатков?Кто-то нашел более элегантный способ решения этой проблемы?
Спасибо