Eh bien, je pense que le titre est assez clair.Quelle est la différence entre HttpContext.Current.User et Thread.CurrentPrincipal dans asp.net?
Répondre
La plus grande différence est qu'ils ne doivent pas être identiques.
De façon générale, HttpContext.Current.User est l'utilisateur d'ouverture de session alors que Thread.CurrentPrincipal est l'identité du processus de travail.
Sur IIS 5.x, Thread.CurrentPrincipal est ASPNET par défaut. Sur IIS 6 et supérieur, Thread.CurrentPrincipal est par défaut Service réseau ou compte de pool d'applications. Pour rendre cela complexe, si vous activez l'emprunt d'identité ASP.NET, les deux seront identiques à l'utilisateur d'ouverture de session. :)
Essayez de lire quelques très bons livres sur ce sujet et Microsoft MSDN articles,
http://msdn.microsoft.com/en-us/library/ms998351.aspx
Une autre suggestion est d'utiliser un débogueur pour attacher au processus de travail et vérifier les lors de l'exécution. Cela peut vous donner un meilleur aperçu.
Une autre grande différence est que votre code n'a pas toujours accès au HttpContext. (Par exemple, si vous avez tous vos BL dans un assembly qui peut ou peut ne pas être utilisé à partir d'une application Web) Bien qu'ils puissent être différents, si vous utilisez Thread.CurrentPrincipal, votre code sera toujours capable d'obtenir à cet objet utilisateur, peu importe où vous êtes dans votre code.
- 1. Quelle est la différence entre SetFocus() et Focus() dans ASP.NET?
- 2. Dans ASP.Net, quelle est la différence entre <% = et <% #
- 3. Quelle est la différence entre Session.Abandon() et Session.Clear() dans ASP.Net?
- 4. Quelle est la différence entre ASP.NET DynamicData et IronSpeed?
- 5. Quelle est la différence entre asp et asp.net?
- 6. Quelle est la différence entre asp et asp.net?
- 7. quelle est la différence entre:.! et: r !?
- 8. Quelle est la différence entre = et: =
- 9. Quelle est la différence entre dict() et {}?
- 10. Quelle est la différence entre "$^N" et "$ +"?
- 11. Quelle est la différence entre ~ et! opérateur?
- 12. Quelle est la différence entre ces commentaires
- 13. Quelle est la différence entre ResolveUrl et ResolveClientUrl?
- 14. Quelle est la différence entre% Q et% {} dans ruby?
- 15. Quelle est la différence entre // et /// dans Visual Studio?
- 16. Quelle est la différence entre undefined et window.undefined dans JavaScript?
- 17. Quelle est la différence entre - et NOT opérateur dans Lucene?
- 18. Quelle est la différence entre target et currenttarget dans flex?
- 19. Quelle est la différence entre -I et -L dans makefile?
- 20. Quelle est la différence entre memset et memcpy dans C
- 21. Quelle est la différence entre latin1_general_ci et utf8_bin dans MYSQL
- 22. Quelle est la différence entre send() et sendAndLoad() dans flash?
- 23. Quelle est la différence entre Toggle et slideToggle dans jQuery?
- 24. Quelle est la différence entre * .tpl et * .html dans smarty?
- 25. Quelle est la différence entre $ {...} et! {...} dans Spark View Engine?
- 26. Quelle est la différence entre Int et Integer dans Scala?
- 27. Quelle est la différence entre bcc32 et bcc32ide dans Borland?
- 28. Quelle est la différence entre utf8_general_ci et utf8_unicode_ci dans MySql?
- 29. Quelle est la différence entre class et id dans jQuery?
- 30. Quelle est la différence entre IDelegateEvent et IEvent dans F #?