Mi sono imbattuto in un problema piuttosto peloso. Probabilmente c'è una soluzione semplice ma non riesco a trovarla!Iniezione Costruttore/incastonatore utilizzando IoC in HttpHandler, è possibile?
Ho un HttpHandler personalizzato che voglio elaborare una richiesta, registrare alcune informazioni e inserire i dettagli nel database. Sto usando NUnit e Castle Windsor.
Quindi ho due interfacce; uno per la registrazione degli altri per l'immissione dei dati, che vengono iniettati dal costruttore. Ho rapidamente scoperto che non esiste un modo per chiamare il costruttore in quanto viene chiamato sempre il costruttore senza parametri predefinito.
Quindi ho pensato di usare Setter injection e ho lasciato che il windsor Castle lo risolvesse. Questo in realtà funziona come quando uso container.Resolve<CustomHttpHandler>();
Posso verificare che il logger non sia nullo. (In Application_Start in Global.asax.cs)
Il problema è che Castle Windsor può creare l'istanza che l'applicazione http non sta utilizzando ??? Credo??
Fondamentalmente l'intera ragione per farlo in questo modo era essere in grado di testare il logger e il codice del repository di dati in isolamento tramite simulazione e test delle unità.
Qualche idea su come posso risolvere questo problema?
Grazie!
Matt, non è bello cambiare la tua domanda in questo modo perché invalidi tutte le risposte esistenti e costringi tutti ad aggiornarle. Si prega di annullare la modifica e creare una nuova domanda. –
Ciao Mauricio. Scusa, ovviamente sono nuovo di come funziona. Sono tornati e ha creato una nuova domanda. Grazie! – Matt