Kann ich benutzerdefinierte Attribute für den Proxy-Typ in Castle Windsor definieren?

8

Ich habe eine Klasse, die ich mit Castle Dynamic Proxy bevollmächtige. Ich möchte einige benutzerdefinierte Attribute zu Proxy-Methoden hinzufügen (die nicht in der proxied-Klasse definiert sind). Ist das möglich?

Ich möchte das, weil ich die ASP.NET-Web-API-Ebene für den Service-Layer meiner Anwendung generieren möchte. Ich Proxy-Dienste (mit der Übernahme von ApiController und zusätzliche IMyService-Schnittstellen), es funktioniert gut, aber ich möchte WebAPI-spezifische Attribute zu dieser neu erstellten Dynamic-Klasse hinzufügen, damit Web-API-Framework können sie lesen.

BEARBEITEN :

Ich möchte detailliert erklären, ob jemand tatsächlich wissen möchte, was ich will.

%Vor%

Denken Sie, dass ich einen IMyService habe, der von MyServiceImpl implementiert wird. Und ich möchte einen Api-Controller machen, um diesen Service vom Web aus nutzen zu können. Aber wie Sie sehen, ist der api-Controller nur ein Proxy für echten Service. Also, warum sollte ich es schreiben? Ich kann es dynamisch mit Burg Windsor erstellen.

Das ist meine Idee und fast schon in meinem neuen Projekt ( Ссылка ). Aber was passiert, wenn ich der GetAll-Methode des API-Controllers ein Attribut hinzufügen muss (z. B. Authorize). Ich kann nicht direkt hinzufügen, da es keine solche Klasse gibt, es ist Castle Dynamic Proxy.

Also, neben diesem Problem. Ich möchte wissen, ob es möglich ist, einer Methode einer synamischen Proxy-Klasse ein Attribut hinzuzufügen.

    
hikalkan 11.09.2013, 07:36
quelle

2 Antworten

2

Sehen Sie sich das Projekt noch einmal an Ссылка Ich möchte auch wissen, wie ich RoutePrefix auf IService und Route on Action definieren kann. Glücklicherweise weiß ich endlich, wie man benutzerdefinierte Attribute für den Proxy definiert.

%Vor%     
echofool 31.08.2015 08:43
quelle
0

@hikalkan Ich hatte das gleiche Problem und suchte nach einer Lösung. Das Beste, dem ich begegnen konnte, war So fügen Sie einer Eigenschaft zur Laufzeit ein Attribut hinzu

Proxy der Controller (in meinem Fall ein dynamischer Controller) mit einem neuen Wrapper, die diese Attribute in der Klasse selbst und ihre Methoden festlegen ..

    
J. Lennon 24.05.2017 23:38
quelle