Я пытаюсь определить контракт WCF, который возвращает интерфейс, как показано ниже:
[ServiceContract]
public interface IMyContracts
{
[OperationContract]
IMyInterface GetData(string request);
}
Чтобы заставить это работать, я думаю, что мой интерфейс (IMyInterface
) должен был бы реализовать ISerializable
, чтобы гарантировать, что классы, реализующие мой интерфейс, могут быть сериализованы. Это означает, что я должен вручную реализовать сериализацию для любых классов, реализующих мой интерфейс.
Похоже, что либо я использую свой интерфейс и рискую во время выполнения, если используется класс, который не сериализуем, либо я заставляю интерфейс реализовать ISerializable
и у меня возникают проблемы с ручной реализацией.
Я запутываю себя и упускаю что-то очевидное? Как другие люди возвращали интерфейсы, использующие WCF, и избегали этой проблемы?
Большое спасибо.