2016-04-04 8 views
1

Ich versuche, ein "Restrict" -Attribut in meinem AppHost hinzuzufügen. Hier ist mein Code:Attribute in ServiceStack dynamisch hinzufügen

var restrictAttribute = new RestrictAttribute { ExternalOnly = true }; 
foreach (var dto in dtos) 
{ 
    dto .AddAttributes(restrictAttribute); 
} 

Die DTOs ich ihnen bin Hinzufügen zu sind solche, die speziell für POST-Anfragen.

Das Problem, mit dem ich konfrontiert bin, ist, dass nach dem dynamischen Hinzufügen der Attribute die ServiceStack-Funktionalität für die Einschränkung nicht funktioniert. Es fügt das Attribut hinzu, schränkt aber nichts ein.

Die einzige Möglichkeit, dies zu erreichen, besteht darin, das Einschränkungsattribut im Anforderungs-DTO manuell hinzuzufügen. Mache ich hier etwas falsch?

Antwort

1

Für Service dynamisch Hinzufügen von Attributen Sie sie vor AppHost.Configure() hinzufügen müssen, da sie bereits durch die Zeit initialisiert sind Configure() ausgeführt wird, also müssen sie entweder in AppHost Konstruktor oder vor AppHost.Init() hinzugefügt werden aufgerufen.