2015-01-05 2 views
0

Каково поведение службы по умолчанию в ServiceModel.Routing?Что такое поведение службы по умолчанию в ServiceModel.Routing?

Я не говорю о Azure вещи я имею в виду эти интерфейсы из

System.ServiceModel.Routing

  • IDuplexSessionRouter
  • IRequestReplyRouter
  • ISimplexDatagramRouter
  • ISimplexSessionRouter

Я понимаю, о выборе правильного «связывание» для требуемого контекста в реальной конечной точке службы, которая делает работу, ....

(И.Е. служба, что этот маршрутизатор (скрученные вручную-service_bus) на самом деле происходит на маршруте (по EndPointName) сообщений в)

(там, конечно, будет несколько услуг, в будущем, которые направляются в звонивших, поставляемых --- --- EndPointName к различным услугам)

... но как режимы параллелизма и Instance обрабатываемых этим маршрутизации «контракты» на этом среднем уровне услуг службы маршрутизации, который реализует один или несколько из них системы .ServiceModel.Routing Интерфейсы пространства имен ?!

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

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

ответ

0

«Служба маршрутизации» просто передает сообщения в целевую службу на основе таблицы маршрутизации.

Согласно System.ServiceModel.Routing.dll, v4.0.0.0 сборки, интерфейс определяется с InstanceContextMode = InstanceContextMode.PerSession определения приведены ниже:

namespace System.ServiceModel.Routing 
{ 
    // Summary: 
    //  Defines the routing service, which is responsible for routing messages between 
    //  endpoints based on filter criteria. 
    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] 
    [ServiceBehavior(AddressFilterMode = AddressFilterMode.Any, InstanceContextMode = InstanceContextMode.PerSession, UseSynchronizationContext = false, ValidateMustUnderstand = false)] 
    public sealed class RoutingService : ISimplexDatagramRouter, ISimplexSessionRouter, IRequestReplyRouter, IDuplexSessionRouter, IDisposable 
    { 
    } 
}