Ich arbeite an einer MVC ASP .NET-Anwendung. Ich bin für beide relativ neu.
In einem Controller versuche ich, den aktuellen angemeldeten Benutzer abzurufen, für den es zwei Möglichkeiten zu geben scheint:
System.Web.HttpContext.Current.User.Identity.Name
Oder
HttpContext.User.Identity.Name
Was ist der Unterschied zwischen diesen? Soweit ich innerhalb des MVC-Frameworks feststellen kann, hat der Controller den aktuellen HttpContext als Eigenschaft gespeichert, sodass diese Methoden identisch sind. Ist das korrekt?
asp.net-mvc
Ton
quelle
quelle
Der vom Controller bereitgestellte Kontext (nicht der statische HttpContext.Current) ist verspottbar. Wenn Sie daran interessiert sind, Ihren Code zu testen, ist es im Allgemeinen viel einfacher, einen nachgebildeten ControllerContext zu erstellen und auf dem Controller festzulegen, als HttpContext.Current zu durchlaufen. Andernfalls verweist ControllerContext.HttpContext auf dieselben Daten wie HttpContext.Current.
quelle