Share via


IStackWalk.PermitOnly Méthode

Définition

Entraîne l’échec de chaque Demand() pour tous les objets à l’exception de l’objet actuel qui passe via le code appelant, même si le code plus haut dans la pile des appels a reçu l’autorisation d’accéder aux autres ressources.

public:
 void PermitOnly();
public void PermitOnly ();
abstract member PermitOnly : unit -> unit
Public Sub PermitOnly ()

Remarques

PermitOnly est similaire à Deny, dans le sens où les deux entraînent l’échec des étapes de pile quand elles réussiraient sinon. La différence est que Deny spécifie les autorisations qui entraîneront l’échec de la procédure de pile, mais PermitOnly spécifie les seules autorisations qui ne provoquent pas l’échec de la procédure de pile. Appelez cette méthode pour vous assurer que votre code peut être utilisé pour accéder uniquement aux ressources spécifiées.

PermitOnly est ignoré pour une autorisation non accordée, car une demande de cette autorisation n’aboutira pas. Toutefois, si le code inférieur à la pile d’appels appelle Demand ultérieurement cette autorisation, un SecurityException est levée lorsque la marche de la pile atteint le code qui a tenté d’appeler PermitOnly. Cela est dû au fait que le code appelé PermitOnly n’a pas reçu l’autorisation, même s’il a appelé PermitOnly pour cette autorisation. La pile d’appels est généralement représentée comme augmentant vers le bas, de sorte que les méthodes plus élevées dans la pile d’appels de la pile d’appels sont inférieures dans la pile d’appels.

S’applique à