Nun, ich denke, der Titel ist klar genug.Was ist der Unterschied zwischen HttpContext.Current.User und Thread.CurrentPrincipal in asp.net?
Antwort
Der größte Unterschied ist, dass sie nicht gleich sein müssen.
Im Allgemeinen ist HttpContext.Current.User der Anmeldebenutzer, während Thread.CurrentPrincipal die Workerprozessidentität ist.
In IIS 5.x ist Thread.CurrentPrincipal standardmäßig ASPNET. Auf IIS 6 und höher ist Thread.CurrentPrincipal standardmäßig der Netzwerkdienst oder Anwendungspoolkonto.
Um es komplex zu machen, wenn Sie den ASP.NET-Identitätswechsel aktivieren, sind beide identisch mit dem Anmeldebenutzer. :)
versuchen, einige wirklich gute Bücher zu diesem Thema und Microsoft MSDN-Artikel zu lesen,
http://msdn.microsoft.com/en-us/library/ms998351.aspx
Ein weiterer Vorschlag ist, einen Debugger zu verwenden, um den Arbeitsprozess zu befestigen und die zur Laufzeit überprüfen. Das kann dir ein besseres Aussehen geben.
Ein weiterer großer Unterschied ist, dass Ihr Code nicht immer Zugriff auf den HttpContext hat. (Zum Beispiel, wenn Sie alle Ihre BL in einer Assembly haben, die möglicherweise von einer Webanwendung verwendet wird oder nicht). Während sie zwei Benutzerkonten unterschiedlich sein können, wenn Sie das Thread.CurrentPrincipal verwenden, wird Ihr Code immer erhalten an diesem Benutzerobjekt, egal wo Sie in Ihrem Code sind.
- 1. Was ist der Unterschied zwischen HttpContext.Current.User und HttpContext.User
- 2. Was ist der Unterschied zwischen ASP.NET und ASP.NET MVC?
- 3. In ASP.Net, was ist der Unterschied zwischen <% = und <% #
- 4. Was ist Thread.CurrentPrincipal und was macht es?
- 5. Was ist der Unterschied zwischen `==` und `ist`?
- 6. Was ist der Unterschied zwischen ASP.NET DynamicData und IronSpeed?
- 7. Was ist der Unterschied zwischen/* ... */und/** ... */
- 8. Was ist der Unterschied zwischen + = und = +?
- 9. Was ist der Unterschied zwischen $ (()) und Ausdruck?
- 10. Was ist der Unterschied zwischen:.! und: r !?
- 11. Was ist der Unterschied zwischen Verilog! und ~?
- 12. Was ist der Unterschied zwischen Difftime und '-'?
- 13. Was ist der Unterschied zwischen $ und $$?
- 14. was ist der Unterschied zwischen [[], []] und [[]] * 2
- 15. Was ist der Unterschied zwischen `&` und `ref`?
- 16. Was ist der Unterschied zwischen $ (...) und `...`
- 17. Was ist der Unterschied zwischen .Equals und ==
- 18. Was ist der Unterschied zwischen "$^N" und "$ +"?
- 19. Was ist der Unterschied zwischen? und ? = Nil
- 20. HttpContext.Current.User ist null in ControllerBase (asp.net mvc)
- 21. Was ist der Unterschied zwischen:
- 22. Was ist der Unterschied zwischen 'Abhängigkeiten' und 'FrameworkAssemblies' in project.json?
- 23. Was ist der Unterschied zwischen button.click-Ereignis und button.command-Ereignis?
- 24. Was ist der Unterschied zwischen <% %> und <%=%>?
- 25. Was ist der Unterschied zwischen ModelError und ValidationResult?
- 26. Was ist der Unterschied zwischen den 3 ASP.NET-Webprojektvorlagen?
- 27. Was ist der Unterschied zwischen: und :: und ::: in Javascript Grammatik
- 28. Was ist der Unterschied zwischen add und [] in der Wörterbuchoperation
- 29. Was ist der Unterschied zwischen ResolveUrl und ResolveClientUrl?
- 30. Was ist der Unterschied zwischen Databinder.Eval und Container.DataItem?