Какие типы нельзя использовать для WCF? - PullRequest
0 голосов
/ 26 марта 2010

На самом деле я знаю, что Type нельзя использовать при передаче в службу WCF. У кого-нибудь есть полный список?

Ответы [ 3 ]

3 голосов
/ 26 марта 2010

Я не уверен, что кто-то беспокоился о составлении списка, и я не уверен, что его можно использовать. Вместо этого существуют требования, которым тип должен соответствовать для использования в контрактах WCF. Главным образом, он должен быть сериализуемым.

Я думаю, что программист обязан убедиться, что все типы, используемые в контрактах, являются сериализуемыми, и убедиться, что все пользовательские типы правильно сериализуются и десериализуются.

2 голосов
/ 26 марта 2010

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

Все, что не является сериализуемым, уже недоступно, и все, что не может быть выражено в XML-схеме, также не может быть использовано. Это включает интерфейсы - вы можете использовать только конкретные классы - и это также исключает универсальные типы, поскольку XML-схема не знает, как обрабатывать универсальные типы.

С вами все в порядке, если вы придерживаетесь базовых типов (int, string, datetime и т. Д.) И всего, что непосредственно составлено из этих типов.

1 голос
/ 26 марта 2010

Все, что не отмечено Serializable, для начинающих.

...