Наличие контракта на эксплуатацию WCF - PullRequest
0 голосов
/ 03 апреля 2010

Этот вопрос был задан на собеседовании. Скажи, у меня есть контракт.

[ServiceContract]
public interface IMyService
{
  [OperationContract]
  void methodForClientA();

   [OperationContract]
   void  AnothermethodForClientA();

   [OperationContract]
   void methodForClientB();

  [OperationContract]
  void  AnothermethodForClientB();
}

Когда клиент A получает доступ к контракту, он должен видеть только контракты на операции

void methodForClientA(),void  AnothermethodForClientA().

Возможно ли это в WCF?

1 Ответ

2 голосов
/ 03 апреля 2010

Вы не можете помешать клиенту A и клиенту B видеть методы друг друга, потому что все они определены в одном договоре.

Однако вы можете не допустить, чтобы Клиент A и Клиент B вызывали методы друг друга, используя механизмы безопасности WCF.

В качестве альтернативы, вы можете иметь две отдельные службы, каждая из которых уникальна для клиента.

Редактировать

Чем больше я об этом думаю, тем больше я предпочитаю отдельные варианты услуг для такого сценария. Если у вас есть методы специфичные для каждого клиента, у вас все равно есть отдельные сервисы, каждый из которых специфичен для конкретного клиента.

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