2017-05-08 2 views
2
kommenden

Ich habe einen ServiceStackGlobalRequestFilters Filter in der apphost Datei, die die authenticate Anfrage zu fangen, die Filter funktionieren gut, aber das Problem ist in der dto in req, res und requestDto ist null ??!servicestack GlobalRequestFilters anfordern Dto null

this.GlobalRequestFilters.Add((req, res, requestDto) => { 
    if (req.OperationName.ToLower()== "authenticate") 
    { 
     var authData =req.GetDto(); 
    } 
}); 

Antwort

2

Die requestDto im Filter selbst, dh übergeben:

GlobalRequestFilters.Add((req, res, requestDto) => { 
    var authDto = requestDto as Authenticate; 
    if (authDto != null) 
    { 
     //... 
    } 
}); 

Ein alternativer Ansatz zu der oben ist ein typisierter Anfrage Filter zu verwenden, zB:

RegisterTypedRequestFilter<Authenticate>((req, res, authDto) => { 
    //... 
}); 
+0

seine nicht gefeuert up filter, wenn ich logge, so kann ich die Anfrage oder die dto nicht erkennen –

+0

@moathnaji Ich verstehe nicht, was Sie sagen? Der globale Anforderungsfilter wird für jede Dienstanforderung aufgerufen. Wenn der Client eine Authentifizierungsanfrage ausführt, wird er aufgerufen. – mythz

+0

immer noch es null AnfrageDto >> Attribute kommen Null –

Verwandte Themen