WCF, отправка неизвестного типа в службу WCF - PullRequest
2 голосов
/ 05 марта 2011

Рассмотрим этот сценарий, когда два клиента WCF подключаются к одному сервису (серверу) WCF, этот сервис будет получать объект от одного клиента и отправлять его другому через некоторый контракт операции и обратные вызовы клиента, оба клиента имеют тип для этогообъект, но мы не хотим, чтобы служба WCF (сервер) зависела от этого типа.

Проект намного больше этого, но мне интересно, можете ли вы отправить объект с неизвестным типом в службу и каким-то образом получить его обратно на другом клиенте.Я видел это, но это мне совсем не помогает: Может ли служба WCF передавать информацию о типе (клиент не знает этот тип)?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 05 марта 2011

Вы можете делать определенные вещи с «необработанным» типом данных Message - но на самом деле это не очень красиво программировать ...

Читайте об этом здесь:

1 голос
/ 05 марта 2011

Отправка «объекта» с неизвестным типом невозможна в WCF, потому что WCF требует полной совместимости с WSDL - а WSDL требует прозрачного определения типа.

Сказав это, если вы используете тип object Я считаю, что есть способ загрузить это как строку, а в WSDL это определяется как xs:anyType.

Лично я предпочел бы определить тип как строку и передать XML, который можно сериализовать с использованием простой XML-сериализации.Я использовал это в нашей компании, и это работает очень хорошо, тем более что мы будем хранить XML как документ в базе данных.

...