Все, что вы хотите использовать в службе WCF, во-первых, должно быть сериализуемым, а во-вторых, оно должно быть в состоянии выражаться с использованием схемы XML. Кроме того, WCF по своей природе интероперабелен, поэтому следует избегать всего, что слишком специфично для .NET (например, исключения, .NET Type
и т. Д.).
Все, что не является сериализуемым, уже недоступно, и все, что не может быть выражено в XML-схеме, также не может быть использовано. Это включает интерфейсы - вы можете использовать только конкретные классы - и это также исключает универсальные типы, поскольку XML-схема не знает, как обрабатывать универсальные типы.
С вами все в порядке, если вы придерживаетесь базовых типов (int, string, datetime и т. Д.) И всего, что непосредственно составлено из этих типов.