Benutzerdefiniertes CodeAccessSecurityAttribute

8

Ich habe das folgende Attribut erstellt:

%Vor%

was ich so benutze:

%Vor%

Das Ausführen des Codes gibt mir den folgenden Fehler:

Fehlender erforderlicher Konstruktor. (Ausnahme von HRESULT: 0x8013143B) , es ist eine COMException.

Warum in aller Welt bekomme ich es und was bedeutet es wirklich?

    
jgauffin 27.08.2010, 14:21
quelle

2 Antworten

8

Das Problem liegt in Ihren Konstruktordefinitionen. Sie müssen Ihre zwei vorhandenen Konstruktoren durch einen einzelnen Konstruktor ersetzen, der nur ein SecurityAction-Argument verwendet. (Siehe den Abschnitt "Hinweise zur Vererbung" unter Ссылка .) Der Grund dafür liegt in dem Deserialisierungsmechanismus, der für Berechtigungsattribute verwendet wird.

    
Nicole Calinoiu 30.08.2010, 12:43
quelle
0

Ich würde entweder den Konstruktor-Parametertyp für role von String auf Roles ändern (in diesem Fall müssten Sie auch ein paar andere Dinge ändern)

%Vor%

oder machen Sie ToString() im Konstruktoraufruf:

%Vor%

Ich persönlich würde die erste Option bevorzugen.

    
SwDevMan81 27.08.2010 14:34
quelle