2016-06-30 18 views
1

Wir haben eine Reihe von Controllern, die wir über eine BasedOn-Abfrage bei Castle registrieren. Einer dieser Controller möchten wir eine zusätzliche Konfigurationsabhängigkeit hinzufügen. Es ist möglich, dass wir diesen Parameter bei allen Controllern registrieren konnten. Mit dem folgenden Code haben wir das Problem gelöst, aber ich würde gerne wissen, ob es eine elegantere/eingebaute Lösung gibt.Wie wird die Abhängigkeit von der bestehenden Castle Windsor Registrierung hinzugefügt?

+0

Was beschäftigt Sie mit dieser Lösung? –

+0

Nicht wirklich eine Sorge für diese eine Instanz, aber, wenn ich mehr bekomme, mag ich nicht mehr Bedingungen für die Registrierung. Ich dachte mir, es gibt eine Möglichkeit, bestehende Registrierungen zu überschreiben oder zu erweitern, aber keinen guten Weg zu finden. –

Antwort

2

Ich würde vorschlagen, dass Sie einfach überschreiben die bestehende Registrierung mit einer spezifischeren Version, die notwendige Abhängigkeit von _appConfig hat. Dafür, Sie müssen nicht mit diesem Filter:

t.Name != "BarController" 

Schauen Sie sich meine Antwort hier, denn wie vorhandene Komponenten außer Kraft zu setzen: https://stackoverflow.com/a/37832194/644891

+0

Das ist ziemlich genau das, was ich gesucht habe und konnte die Antwort nicht finden wegen der Geräusche auf den Google Begriffen. Vielen Dank! –

0

Sie völlig können, nur use ConfigureFor<> method.

Wie ich nebenbei bemerkt, ich bin mir nicht sicher, warum Ihr Beispiel die Lebensdauer dreimal angibt. Es reicht aus, es einmal zu tun.