Tengo un controlador base ApplicationController
que necesita tomar el host de URL y realizar algún procesamiento antes de que se activen los controladores secundarios. Como los constructores del controlador se disparan antes de que se inicialice RequestContext, tengo que anular el método Initialize para hacer mi procesamiento.¿Por qué se disparan los constructores del controlador antes del método de inicialización?
ApplicationController:
Protected Overrides Sub Initialize(ByVal requestContext As System.Web.Routing.RequestContext)
MyBase.Initialize(requestContext)
Dim host as String
host = Request.Url.Host.ToString
End Sub
¿Cuál es la lógica detrás de tener Controlador de constructores fuego antes de que el método de inicialización?
También, ¿cuáles son las reglas sobre qué se debe colocar en el Método de inicialización?
"Siempre he preferido el uso de filtros de acción porque de esta manera que ya no está en la obligación am de derivar de un controlador base común "en esta declaración, aquí hay un par de recursos que encontré útiles: http://stackoverflow.com/a/6119341/206297 ; http://odetocode.com/Blogs/scott/archive/2010/06/28/action-filter-versus-controller-base-class.aspx – ngm