Mi sono imbattuto in un problema in cui avevo un Html.DropDownList nella mia vista che avrebbe postback il valore selezionato la prima volta che ho inviato il modulo, ma ogni post successivo avrebbe solo postato i dati dal postback iniziale. Così ho aggiunto lo stile di vita = "transitorio" all'elemento componente in cui avevo configurato il mio controller per windsor del castello, che risolveva il problema, ma ovviamente i postbacks richiedevano più tempo da quando un nuovo controller veniva istanziato per richiesta. Viste le informazioni di cui sopra, quali informazioni, suggerimenti o soluzioni potrebbero aiutare a determinare la mia domanda iniziale sullo stile di vita del controller? Grazie per tutto l'aiuto e il supporto!Lo stile di vita del controller deve sempre essere transitorio nella configurazione di Windsor per ASP.NET MVC?
risposta
I controller MVC sono transitori. Pensandoci, questo ha senso per alcune ragioni. Innanzitutto, se una singola istanza viene utilizzata per soddisfare più richieste e se più richieste si verificano nello stesso momento con lo stesso controller, si verificheranno alcune condizioni di gara abbastanza bizzarre. Secondo, l'HTTP è per sua stessa natura priva di stato e le richieste esistono indipendentemente l'una dall'altra. Ciò si riflette nello stile di vita transitorio dei controllori.
Transitorio, sì, ma per ragioni di interesse, perché non PerWebRequest anziché Transient? Ho visto un paio di blog che usano lo stile di vita PerWebRequest e non riesco a pensare a una ragione per cui no. Qualche risposta?
Sono d'accordo con Dion. Sbarcati qui cercando una soluzione a questa stessa domanda. Sembra che PerWebRequest
sia più appropriato.
A seconda del modo in cui si integra il contenitore in MVC e WebApi, è possibile che non venga richiesto a Windsor di rilasciare dipendenze quando il controller non viene più utilizzato.
Se si imposta su PerWebRequest
, che verrà rilasciare automaticamente il controller, e tutte le sue dipendenze quando la richiesta termina
- 1. ASP.NET MVC Controller Ciclo di vita
- 2. Castle Windsor: il mio componente transitorio verrà raccolto dai rifiuti?
- 3. ASP.NET MVC - Respository/Service/Controller
- 4. ASP.NET MVC - Voce di elenco stile basata sul controller
- 5. ASP.Net MVC - Richiesta ciclo di vita
- 6. Quali eventi del ciclo di vita ASP.NET possono essere asincroni?
- 7. ASP.NET MVC Autentica prima del controller istanziato
- 8. Castle Windsor Dependency Resolver per MVC 3
- 9. ASP.Net MVC - Perché viene creato un controller per favicon.ico?
- 10. Acquisizione del nome del controller e del metodo di azione nella vista in ASP.Net MVC
- 11. Visualizza il ciclo di vita del controller su UIModalPresentationOverCurrentContext
- 12. Configurazione di IdentityServer con Asp.Net MVC Application
- 13. ASP.NET MVC C# Ottieni controller e nome dell'azione nella classe
- 14. ASP.NET MVC: visualizzazione dell'istanza del controller di accesso
- 15. Setup Castle Windsor in MVC
- 16. Passando serie Javascript per ASP.NET MVC controller
- 17. asp.net mvc controller generico
- 18. Modificare lo stile del bordo nella Galleria
- 19. ASP.NET MVC 3: quale dll deve essere distribuito?
- 20. Ciclo di vita della pagina rasoio in ASP.NET MVC
- 21. ASP.NET MVC - Mock Membership per Controller Test
- 22. Come modificare il nome del controller MVC di ASP.NET nell'URL?
- 23. migrazioni di database stile rails per asp.net?
- 24. ASP.NET MVC Controller aggiungendo disabilitato
- 25. Trova il controller ASP.NET MVC nella vista principale
- 26. È possibile utilizzare uno stile di vita con scope nel Castello di Windsor senza far passare il contenitore?
- 27. ASP.Net MVC Controller Namespace array
- 28. Controller asincrono in ASP.NET MVC
- 29. Deserializzare oggetti JSON in controller MVC Asp.Net
- 30. Controller MVC IoC e ASP.NET
LOL. Probabilmente stavo pensando a quello senza pensarlo affatto. Grazie per l'intuizione. Probabilmente ed evidente SÌ alla mia domanda, ma stavo pensando troppo dentro la scatola del windsor per realizzare la soluzione. Grazie mille! – mkelley33
Potrebbe essere utile sottolineare che senza definire uno stile di vita, verrà utilizzato il valore predefinito di "Singleton". Nessuna meraviglia che potrebbe causare problemi. – Ted