ich einen WCF-Dienst, die zwei Serviceverträge implementiert ...Wie schreibt man sich zwei WCF Serviceverträge mit Autofac
public class MyService : IService1, IService2
und ich bin selbst Hosting der Service ...
host = new ServiceHost(typeof(MyService));
Alles funktionierte gut, als der Service nur einen Servicevertrag implementierte, aber wenn ich versuche, Autofac einzurichten, um beide so zu registrieren:
... es gibt eine Ausnahme für die zweite aus:
Der Wert konnte nicht zur Sammlung hinzugefügt werden, da die Sammlung bereits ein Element desselben Typs enthält: 'Autofac.Integration.Wcf. AutofacDependencyInjectionServiceBehavior '. Diese Sammlung unterstützt nur eine Instanz jedes Typs. Ich
Auf den ersten Blick dachte, dies sagte meine beiden Verträge wurden irgendwie als die gleiche Art gesehen zu werden, aber in zweiter Lesung Ich glaube, es ist zu sagen, dass die AutofacDependencyInjectionServiceBehavior der in Rede stehenden Art ist, das heißt ich kann es nicht zweimal benutzen!
Und doch fand ich this post, die explizit zeigte er mehrfach in einer etwas anderen Form mit:
foreach (var endpoint in host.Description.Endpoints)
{
var contract = endpoint.Contract;
Type t = contract.ContractType;
host.AddDependencyInjectionBehavior(t, container);
}
Leider, die die gleiche Fehlermeldung gab.
Ist es möglich, mehr als einen Servicevertrag für einen Service zu registrieren, und wenn ja, wie?
Danke - ich hätte es mir überlegen sollen! Ich bin froh, dass du mich falsch bewiesen hast :-) –