Frage

Wie verwende ich das Schloss WcfFacility und habe es die Standard-Wcf-Konfigurationsdatei Einstellungen verwenden?

Wenn ich wie so registrieren:

container.Register(
AllTypes.Pick()
    .FromAssemblyNamed("{ServicesAssembly}") // <-- service assembly here
    .If(type => type.Name.EndsWith("Service"))
    .WithService.FirstInterface()
    .Configure(configurer => configurer.LifeStyle.Transient)
    .Configure(configurer => configurer.Named(configurer.Implementation.Name))
    .Configure(configurer => configurer.ActAs(new DefaultServiceModel()))
);

Ich erhalte den folgenden Fehler:

Service '{Name}' hat Null-Anwendung (nicht-Infrastruktur) Endpunkte.

Wenn ich aufhöre:

.Configure(configurer => configurer.ActAs(new DefaultServiceModel()))

es scheint, als ob das Verhalten in der Config ignoriert werden.

Was ist die korrekte Verwendung hier?

War es hilfreich?

Lösung

OK, es herausgefunden:)

Ich registriere etwa so:

container.Register(
AllTypes.Pick()
    .FromAssemblyNamed("{ServicesAssembly}") // <-- service assembly here
    .If(type => type.Name.EndsWith("Service"))
    .WithService.FirstInterface()
    .Configure(configurer => configurer.LifeStyle.Transient)
    .Configure(configurer => configurer.Named(configurer.Implementation.Name))
    .Configure(configurer => configurer.ActAs(new DefaultServiceModel().Hosted()))
);

Die Hosted () ist es zu zeigen, dass ich die Dienste bin Hosting; sonst ist scheint, als ob die WCF-Fazilität wird versuchen, sie zu bewirten, in Port-Konflikte zur Folge hat.

So war das Problem, dass die Namen des Dienstes in der Konfigurationsdatei hat der vollständigen Typnamen der Umsetzung zu sein. Wenn nicht erhält man einen Fehler, der besagt etwas entlang der Linien von nicht-Endpunkte definiert. So ist der Dienstname ist nicht die gleiche wie der Name in windsor angegeben.

Andere Tipps

Sie haben es fast geschafft.

Sie müssen diese:

.ActAs(new DefaultClientModel(WcfEndpoint.FromConfiguration( <<key In Configuration>> )));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top