Использование многих отлично examples на этом веб-сайте, я получил свою службу WCF для правильной сериализации и десериализации конкретных объектов типов интерфейса по сети. К сожалению, почему мне кажется, что не хватает поддержки клиентов.
Пользователь получил метаданные из моей службы и использует их для автоматического создания ссылки на службу в Visual Studio 2012 с помощью «добавить ссылку на службу». Они жалуются, что в их reference.cs (и, следовательно, в их всплывающих подсказках по автозаполнению) интерфейсы не встречаются и заменяются объектами.
Например, в моем файле кода интерфейса службы:
[ServiceKnownType(typeof(ConcreteObject))]
...
[OperationContract]
bool WorkMethod(IMyInterface argument1);
...
но то, что они видят, это:
...
[OperationContract]
bool WorkMethod(object argument1);
...
Как указано выше, моя клиентская библиотека работает нормально, потому что я понимаю, что «объект» на самом деле означает «IMyInterface». Но это непонятно другому клиенту. Как заставить сгенерированные прокси-объекты включать интерфейсы и правильно представлять тип запроса?
Заранее спасибо!
Изменить: пример интерфейса по запросу.
public interface IMyInterface
{
bool DoWork(int i);
string SomeProperty { get; }
}
[DataContract]
[KnownType(typeof(IMyInterface))]
public class ConcreteObject : IMyInterface
{
//Working implementation here.
...
}
public class ConcreteObject : IMyInterface
- person Bensonius   schedule 15.01.2015