Autofac, wie man den Dienst mit einer Instanz eines Aspekts abfängt, aber nicht mit der Art des Aspekts?

8

Ich habe ein Autofac als IoC-Container. Ich möchte Aspect für einige Typen registrieren. Ich kann es so machen:

%Vor%

Aber was ist, wenn ich den Interceptor für eine bestimmte Anzahl von Klassen registrieren muss, die nicht einen Interceptor-Typ verwenden, sondern eine Instanz? Lass uns schauen, wie es aussehen sollte:

%Vor%

Ich machte das mit Ninject IoC. Aber was ist mit Autofac? Danke für jeden Fortschritt!

    
Maris 29.04.2013, 10:09
quelle

1 Antwort

9

Lesen Sie die Autofac-Wiki-Seite auf Autofac.Extras.DynamicProxy2 . Es zeigt ein Beispiel für einen CallLogger Interceptor, bei dem ein Lambda als Interceptor registriert wird:

%Vor%

Für Ihren Fall wechseln Sie einfach, um eine Instanz zu registrieren.

%Vor%

Alternativ können Sie benannte Interzeptoren verwenden, wenn Sie nicht möchten, dass Ihr Aspekt getippt wird.

%Vor%

Erneut schau dir das Wiki an - es gibt viele Möglichkeiten, den Interceptor zu verbinden Die Klasse wird abgefangen, einschließlich named, typed, attributes ... viele Beispiele im Wiki.

    
Travis Illig 29.04.2013, 17:16
quelle

Tags und Links