2017-08-25 4 views
0

Ich habe ein Attribut, das ausgelöst wurde, wenn eine Anfrage an meine asp mvc-Anwendung erhalten.ASP MVC Sitzung im benutzerdefinierten Filter überprüfen

public class AllActionsAttribute : ActionFilterAttribute 
{ 
    public override void OnActionExecuting(ActionExecutingContext filterContext) 
    { 
     var session = Session["mySession"]; //it' doesn't work 
    } 
} 

Gibt es eine Möglichkeit Session in OnActionExecuting() Funktion zu überprüfen?

+0

Was bedeutet "es funktioniert nicht"? ist die Sitzung null? ist der Wert für Ihren Schlüssel leer? tritt dies nur beim ersten Mal auf, wenn Sie Ihre App einrichten? – Fran

+0

Der Name Session existiert im aktuellen Kontext nicht. Nein, es tritt in keiner Anfrage auf. – user3748973

Antwort

1

Sitzung kann durch die filterContext

Sitzung zugegriffen werden soll, eine Eigenschaft, die Steuereinrichtung Zugriff auf den HttpContext.Session einwickelt.

Es gibt keine Session-Eigenschaft in einem Aktionsfilter, Sie müssen Session über den FilterContext betrachten.

filterContext.HttpContext.Session