Bueno, creo que el título es lo suficientemente claro.¿Cuál es la diferencia entre HttpContext.Current.User y Thread.CurrentPrincipal en asp.net?
Respuesta
La mayor diferencia es que no tienen que ser lo mismo.
En general, HttpContext.Current.User es el usuario de inicio de sesión, mientras que Thread.CurrentPrincipal es la identidad del proceso de trabajo.
En IIS 5.x, Thread.CurrentPrincipal de forma predeterminada es ASPNET. En IIS 6 y superior, Thread.CurrentPrincipal de forma predeterminada es Servicio de red o cuenta del grupo de aplicaciones.
Para hacerlo complejo, si habilita la suplantación ASP.NET, ambos serán los mismos que el usuario de inicio de sesión. :)
tratar de leer algunos libros muy buenos sobre este tema y artículos de Microsoft MSDN,
http://msdn.microsoft.com/en-us/library/ms998351.aspx
Otra sugerencia es usar un depurador para insertarse en el proceso de trabajo y comprobar que están en tiempo de ejecución. Eso puede darle una mejor vista.
Otra gran diferencia es que su código no siempre tiene acceso al HttpContext. (Por ejemplo, si tiene todo su BL en un ensamblaje que puede o no puede ser utilizado desde una aplicación web) Si bien las dos cuentas de usuario pueden ser diferentes, si usa el Thread.CurrentPrincipal, entonces su código siempre podrá obtener en ese objeto de usuario sin importar dónde se encuentre en su código.
- 1. diferencia entre http.context.user y thread.currentprincipal y cuándo usarlos?
- 2. ¿Cuál es la diferencia entre ASP.NET y ASP.NET MVC?
- 3. ¿Cuál es la diferencia entre Session.Abandon() y Session.Clear() en ASP.Net?
- 4. En ASP.Net, ¿cuál es la diferencia entre <% = y <% #
- 5. ¿Cuál es la diferencia entre ASP.NET y C#?
- 6. HttpContext.Current.User es nulo en ControllerBase (asp.net mvc)
- 7. ¿Cuál es la diferencia entre + = y = +?
- 8. ¿cuál es la diferencia entre:.! y: r !?
- 9. ¿Cuál es la diferencia entre ".equals" y "=="?
- 10. Cuál es la diferencia entre $ y jQuery
- 11. Cuál es la diferencia entre = y: =
- 12. Cuál es la diferencia entre $ (...) y `...`
- 13. ¿Cuál es la diferencia entre dict() y {}?
- 14. ¿Cuál es la diferencia entre [indefinido] y [,]?
- 15. ¿Cuál es la diferencia entre {0} y ""?
- 16. ¿Cuál es la diferencia entre .ToString (+) y ""
- 17. ¿Cuál es la diferencia entre `##` y `hashCode`?
- 18. ¿Cuál es la diferencia entre "$^N" y "$ +"?
- 19. ¿Cuál es la diferencia entre " " y ""?
- 20. ¿Cuál es la diferencia entre Microsoft WebMatrix y Visual Studio?
- 21. ¿Cuál es la diferencia entre button.click event y button.command event?
- 22. ¿Cuál es la diferencia entre <% %> y <%=%>?
- 23. ¿Cuál es la diferencia entre UserControl, WebControl, RenderedControl y CompositeControl?
- 24. ¿Cuál es la diferencia entre "aspnet_regiis -ir" y "aspnet_regiis -iru"?
- 25. ¿Cuál es la diferencia entre @ y $ y% en MSBuild?
- 26. Cuál es la diferencia entre MVC 2 y MVC3
- 27. ¿Cuál es la diferencia entre ResolveUrl y ResolveClientUrl?
- 28. ¿Cuál es la diferencia entre Databinder.Eval y Container.DataItem?
- 29. ¿Cuál es la diferencia entre RadGrid.Rebind() y RadGrid.MasterTableView.Rebind()?
- 30. Diferencia entre asp y asp.net