Методы расширения в контракте данных - PullRequest
3 голосов
/ 21 апреля 2011

Можем ли мы две службы WCF, где один контракт на обслуживание происходит от другого, и иметь метод расширения внутри производного контракта. что будет результатом доступа к этому контракту от клиента WCF. То есть что произойдет, если IDServiceis получит доступ Э.Г.

[ServiceContract]
public interface IBaseService
{
  public void A();
  ...
}

[ServiceContract]
public interface IDService: IBaseService
{
  public static void B(this IBaseService S);
  ....
}

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011

Вы не можете определить статические методы в интерфейсе (или модификатор доступа public, который вы указали выше)

1 голос
/ 21 апреля 2011

Хороший вопрос - я сильно почесал голову.

Метод расширения не имеет смысла для WCF и WSDL.

Если вы используете Service Reference для генерации клиента, вы не увидите метод расширения (поскольку WSDL не будет ничего знать о методе расширения), поэтому вы не сможете его использовать.

Если вы используете DLL/Project reference, ваш код будет вызываться локально, а не через прокси.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...