'System.Web.HttpContext' enthält keine definition für 'GetOwinContext' Geheimnis

Erkenne ich diese Frage mag trivial sein, aber es ist die Art von Dingen, die ich finde mich kämpfen mit ziemlich viel und ich will einfach nur der Sinn des ganzen trotz, dass Sie scheinbar eine verlorene Schlacht in .net (bei mir jedenfalls).

So, wenn ich den folgenden Code:

    using System.Web;
...
ApplicationUser user = System.Web.HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.User.Identity.GetUserId());

Der den Fehler erzeugt, in den Titel und eine rote GetOwinContext() und der Fehler Cannot resolve symbol 'GetOwinContext()'

Jedoch, wenn ich den folgenden Code (entfernen System.Web vor HttpContext), funktioniert es wie erwartet (oder zumindest keine Fehler):

using System.Web;
    ...
    ApplicationUser user = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.User.Identity.GetUserId());

Jedoch, wenn ich dies tun (gleiche Zeile, die das arbeiten mit using System.Web auskommentiert):

    //using System.Web;
            ...
ApplicationUser user = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>().FindById(System.Web.HttpContext.User.Identity.GetUserId());

Produziert er die gleichen roten GetOwinContext() und der Fehler Cannot resolve symbol 'GetOwinContext()'

Wenn ich google HttpContext ich kann nur feststellen, dass es ergibt sich aus System.Web.

So, die Frage ist, warum kann ich nicht die komplette syntax wie im ersten Beispiel oben? (Auch erwähnt in der Antwort, die hier mit der höchsten Stimmenzahl: ASP.NET MVC-5 - Identität. Wie erhalten Sie die aktuellen ApplicationUser)

UPDATE (auf Adresse duplizieren Frage, Antwort): es gibt Zwar eine Antwort auf diese Frage, die möglicherweise zu dem gleichen Schluss kommen, ich weiß wirklich nicht verstehen, wie dieser ist eine doppelte Frage. Versuchen zu denken, der es von einem Neuling Perspektive und das sezieren von all dem Rauch und Spiegel, die ist .Net. Ich habe nie versucht, etwas zu lernen, so verworren in meinem Leben .Net und manchmal haben Sie Blick auf die Dinge aus vielen verschiedenen Blickwinkeln.

Sah ich diese Frage und eine andere in Bezug auf mit Current, aber weder fiel mir als 1) als die Antwort, die ich gesucht hatte (zu der Zeit) 2) noch wichtiger ist, warum es ist, sich wie, die. Sam ' s Antwort ist perfekt, obwohl ein bisschen über meinen Kopf. Aber, zumindest jetzt, ich kann gehen, erforschen, was das alles bedeutet...

  • von dem, was ich gesehen habe-Controller haben Ihre eigenen HttpContext Controller.HttpContext und es ist ein System.Web.HttpContext Controller.HttpContext hat GetOwinContext().. beide haben die Sitzung auch, aber denken Sie für eine Sekunde, Sie sind ein und dasselbe 🙂
  • möglich, Duplikat der ASP.Net Identität - HttpContext hat keine Erweiterung Methode für GetOwinContext
  • Ich beschuldige naming conventions, den ich persönlich nie mochte mit Eigenschaft namens gleiche wie der Typ. Auch die 3. Frage ergibt sich aus der Erweiterung fehlen, wenn es nicht klar ist (siehe @NightOwl888 's link oben)
InformationsquelleAutor Sum None | 2015-08-07
Schreibe einen Kommentar