Come posso ottenere l'istanza del resolver di dipendenza in web api? In asp.net mvc posso fare DependencyResolver.Current
, c'è un equivalente in web api?Come ottenere l'istanza del resolver di dipendenza nell'API Web ASP.NET
12
A
risposta
9
Ignorare ciò che le persone dicono di essere un anti-modello. Non otterrai una copertura DI completa, specialmente con queste giovani tecnologie. Ad esempio, al momento della scrittura, NInject
non ha supporto per l'iniezione nei middleware.
Per rispondere alla domanda, il resolver di dipendenza per una richiesta è disponibile tramite HttpRequestMessage.GetDependencyScope()
. È inoltre possibile utilizzare HttpConfiguration.DependencyResolver
, tuttavia, fare attenzione che questo non sia adeguatamente definito per la richiesta eseguita.
Si consiglia di verificare la documentazione per l'implementazione specifica del CIO.
Problemi correlati
- 1. semplice Dipendenza Resolver
- 2. Come ottenere il valore del cookie nel sito Web asp.net
- 3. Iniezione di dipendenza per parametri del metodo di azione dell'API Web ASP.NET
- 4. Errori durante l'utilizzo del resolver di dipendenze personalizzato con Unity e controller API Web
- 5. Come filtrare i risultati del content resolver in Android?
- 6. È possibile configurare Autofac per lavorare con ASP.NET MVC e ASP.NET Web Api
- 7. Autenticazione del sito Web ASP.NET con facebook
- 8. Come testare i resolver sbt
- 9. Perché l'aggiunta di una dipendenza nel mio progetto API Web (ASP.NET v5) non funziona completamente?
- 10. Personalizzazione del routing Web Api ASP.NET
- 11. Test del controller API Web ASP.NET
- 12. Iniezione di dipendenza non sa del tipo che voglio iniettare
- 13. Convalida iniettata dalla dipendenza nell'API Web
- 14. Come posso ottenere l'indirizzo IP del server/sito Web in asp.net?
- 15. Java Web Start - carica dipendenza nativa con un'altra dipendenza nativa
- 16. come ottenere l'indirizzo MAC del client che navigare sito web asp.net mvc C#
- 17. come unità di applicazione provino asp.net con iniezione costruttore dipendenza
- 18. Ottenere un'applicazione Web ASP.NET MVC per caricare il dominio neutro
- 19. Fornitore/membro del ruolo? Come in asp.net web api?
- 20. Come arrestare l'API Web ASP.NET dall'interpretazione implicita del metodo HTTP?
- 21. Autenticazione API Web ASP.NET
- 22. Telerik Reporting ObjectDataSource con dipendenza dipendenza
- 23. Castle Windsor Dependency Resolver per MVC 3
- 24. Hosting di Web Form ASP.NET come sito Web Windows Azure
- 25. (SBT) Come disabilitare il resolver predefinito e utilizzare solo il resolver interno dell'azienda?
- 26. Ottenere l'indirizzo IP del server in ASP.NET?
- 27. Iniezione dipendenza ASP.NET 5, iniettare con parametri
- 28. ASP.NET MVC o API Web ASP.NET + AngularJS
- 29. ASP.NET MVC: HTTPContext e Dipendenza iniezione
- 30. Plugin del compilatore SBT come dipendenza transitoria
Probabilmente lo sapete già, ma devo fornire l'avvertimento obbligatorio: dovreste permettere al resolver di dipendenza di iniettare le dipendenze necessarie nelle vostre classi, usando Api Controller come root di contesto, piuttosto che andare alla ricerca del risolutore di dipendenze. – StriplingWarrior
sì, il motivo per cui ho bisogno di usare il resolver è all'interno di un raccoglitore modello personalizzato, che verrà impostato usando l'attributo modelbinder, invece di un fornitore di binder modello, quindi verrà istanziato con un costruttore paramterless, quindi devo usare il servizio posizione per ottenere le dipendenze. – ryudice
Solo un suggerimento: http://stackoverflow.com/questions/21919753/. Per favore, prendilo come un'altra vista - perché evitare 'IDependencyResolver'. ServiceLocator potrebbe/dovrebbe essere visto come antipattern http://blog.ploeh.dk/2010/02/03/ServiceLocatorIsAnAntiPattern.aspx –