Как использовать два класса обслуживания для службы WCF REST? - PullRequest
1 голос
/ 01 марта 2012

У меня есть служба REST, созданная с помощью шаблона службы отдыха WCF.

Мне любопытно, можно ли иметь классы обслуживания в моем проекте и зарегистрировать их в RegisterRoutes () в Global.Asax.

Я пробовал это, но разрешит только Service1:

    private void RegisterRoutes()
{                  
    RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(Service1)));
    RouteTable.Routes.Add(new ServiceRoute("Service2", new WebServiceHostFactory(), typeof(Service2)));
}

Возможно ли это, или все мои методы обслуживания находятся в одном классе?

1 Ответ

1 голос
/ 01 марта 2012

Конечно, это возможно, но в приведенном выше сценарии первый ServiceRoute будет перехватывать вызовы второго Сервиса (Service2), потому что похоже, что вызовы / Service2 на самом деле являются операциями на Service1.

RouteTable.Routes.Add(new ServiceRoute("Service1", new WebServiceHostFactory(), typeof(Service1)));
RouteTable.Routes.Add(new ServiceRoute("Service2", new WebServiceHostFactory(), typeof(Service2)));

должно работать ...

альтернативно,

RouteTable.Routes.Add(new ServiceRoute("Service2", new WebServiceHostFactory(), typeof(Service2)));
RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(), typeof(Service1)));

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

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