Определить разные интерфейсы в разных файлах .svc? - PullRequest
0 голосов
/ 02 мая 2011
I have two different Interface service that I'm using 
    1. IService1
    2. IService2

I define two files 
    1. IService1.cs   => that hold the Interface of IService1 
    2. IService2.cs   => that hold the Interface of IService2

I also define two different .cvs 
    1. IService1.cvs=> that hold the Interface of IService1 
    2. IService2.cvs=> that hold the Interface of IService2

Можно ли иметь структуру этих файлов или лучше, чтобы весь интерфейс контракта был в одном файле и имел один файл .cvs?

Ответы [ 2 ]

1 голос
/ 02 мая 2011

Это файл .svc.

Если у вас есть два файла .svc, вы предоставляете два разных сервиса (два класса), каждый из которых имеет одну конечную точку, свой WSDL и свое поведение (например, безопасность, регулирование и т. Д.).

Если у вас есть один файл .svc, служба должна реализовывать оба интерфейса (один класс), и она будет иметь две разные конечные точки, описанные в одном и том же WSDL с одним поведением службы.

Я пропущу часть, в которой вы вручную изменяете файлы .svc, чтобы указывать на тот же класс, потому что он не имеет реального преимущества, и это еще более усложнит ситуацию (конфигурация для каждого класса обслуживания не для файла .svc).

Значит, это действительно зависит от ваших требований?

1 голос
/ 02 мая 2011

Это зависит.

Если реализации IService1 и IService2 находятся в одном классе:

public class MyService : IService1, IService2
{
  ...
}

Тогда один файл .svc и вам нужно дваконечные точки .

Если они находятся в отдельных классах:

public class MyService1 : IService1
{
  ...
}

public class MyService2 : IService2
{
  ...
}

Тогда два файла .svc .

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