asp.net mvc - libro - Diferencia entre HttpContext.Current y Controller.Context en MVC ASP.NET
libro asp.net mvc 5 español (2)
El contexto provisto por el controlador (no el HttpContext.Current estático) es simulable. Si está interesado en probar su código unitario, generalmente es mucho más fácil crear un ControllerContext simulado y configurarlo en el Controlador que pasar por HttpContext.Current. De lo contrario, ControllerContext.HttpContext apunta a los mismos datos que HttpContext.Current.
Estoy trabajando en una aplicación MVC ASP .NET. Soy relativamente nuevo para ambos.
En un controlador, estoy intentando obtener el usuario de inicio de sesión actual, para lo cual parece haber dos formas de hacerlo:
System.Web.HttpContext.Current.User.Identity.Name
O
HttpContext.User.Identity.Name
Cuál es la diferencia entre esto? Por lo que puedo decir dentro del marco de MVC, el controlador tiene el HttpContext actual almacenado como una propiedad, por lo que estos métodos son idénticos. ¿Es eso correcto?
Sí, generalmente serán idénticos. Sin embargo, si está trabajando con hilos adicionales, no lo serán; System.Web.HttpContext.Current
is threadstatic.