Question

Comment puis-je utiliser le château WcfFacility et avoir utiliser les paramètres du fichier de configuration standards WCF?

Si je me inscrire comme ceci:

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()))
);

Je reçois l'erreur suivante:

Service '{name}' a zéro points d'extrémité application (non-infrastructure).

Si je pars de:

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

il semble que les comportements dans la configuration sont ignorés.

Quelle est ici l'utilisation correcte?

Était-ce utile?

La solution

OK, figured it out:)

je me inscrire comme ceci:

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()))
);

Le Hosted () est là pour indiquer que je suis d'hébergement des services; d'autre est semble que la facilité de WCF essaiera de les accueillir, ce qui entraîne des conflits de port.

Le problème était que le nom du service dans le fichier de configuration pour être le nom complet du type de la mise en œuvre. Dans le cas contraire, on reçoit une erreur indiquant quelque chose le long des lignes de points de terminaison définis pas. Ainsi, le nom du service est pas le même que le nom spécifié dans windsor.

Autres conseils

Vous y êtes presque.

Vous en avez besoin:

.ActAs(new DefaultClientModel(WcfEndpoint.FromConfiguration( <<key In Configuration>> )));
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top