Ich bin in ein ziemlich haariges Problem geraten. Es gibt wahrscheinlich eine einfache Lösung, aber ich kann es nicht finden!Konstruktor/Setter Injektion mit IoC in HttpHandler, ist es möglich?
Ich habe einen benutzerdefinierten HttpHandler, dass ich eine Anfrage verarbeiten möchte, bestimmte Informationen protokollieren und dann die Details in der Datenbank eingeben. Ich benutze NUnit und Castle Windsor.
Also ich habe zwei Schnittstellen; eine für die Protokollierung der anderen für die Dateneingabe, die Konstruktor injiziert werden. Ich habe schnell herausgefunden, dass es keinen Weg gibt, den Konstruktor aufzurufen, da immer der standardmäßige parameterlose Konstruktor aufgerufen wird.
Also dachte ich, ich würde Setter injection benutzen und Castle windsor es rauslassen. Das funktioniert tatsächlich, wenn ich container.Resolve<CustomHttpHandler>();
verwende Ich kann überprüfen, dass der Logger nicht null ist. (In Application_Start in Global.asax.cs)
Das Problem ist, obwohl Castle Windsor die Instanz erstellen kann die HTTP-Anwendung verwendet es nicht ??? Ich denke??
Der Grund dafür war, den Logger und den Data Repository Code isoliert durch Spott- und Unit-Tests zu testen.
Irgendwelche Ideen, wie ich dieses Problem lösen kann?
Danke!
schafft Matt, es ist nicht cool, deine Frage so zu ändern, weil du alle vorhandenen Antworten für ungültig erklärst und jeden zwingst, zu aktualisieren. Bitte setzen Sie Ihre Bearbeitung zurück und erstellen Sie stattdessen eine neue Frage. –
Hallo Mauricio. Sorry, offensichtlich bin ich neu, wie das funktioniert. Habe zurückgeworfen und eine neue Frage erstellt. Vielen Dank! – Matt