SocketPermission.IsSubsetOf(IPermission) SocketPermission.IsSubsetOf(IPermission) SocketPermission.IsSubsetOf(IPermission) SocketPermission.IsSubsetOf(IPermission) Method

Definition

Bestimmt, ob die aktuelle Berechtigung eine Teilmenge der angegebenen Berechtigung ist.Determines if the current permission is a subset of the specified permission.

public:
 override bool IsSubsetOf(System::Security::IPermission ^ target);
public override bool IsSubsetOf (System.Security.IPermission target);
override this.IsSubsetOf : System.Security.IPermission -> bool
Public Overrides Function IsSubsetOf (target As IPermission) As Boolean

Parameter

target
IPermission IPermission IPermission IPermission

Eine SocketPermission, die auf die Teilmengenbeziehung überprüft werden soll.A SocketPermission that is to be tested for the subset relationship.

Gibt zurück

Wenn target auf null festgelegt wurde, gibt diese Methode true zurück, wenn die aktuelle Instanz keine Berechtigungen definiert, und andernfalls false.If target is null, this method returns true if the current instance defines no permissions; otherwise, false. Wenn target nicht null ist, gibt diese Methode true zurück, wenn die aktuelle Instanz eine Teilmenge von target-Berechtigungen definiert, und andernfalls false.If target is not null, this method returns true if the current instance defines a subset of target permissions; otherwise, false.

Ausnahmen

Dem Methodenaufrufer wird keine DnsPermission erteilt.DnsPermission is not granted to the method caller.

Beispiele

Im folgenden Beispiel wird die IsSubsetOf Methode, um zu bestimmen, ob SocketPermission ist die Teilmenge eines anderen.The following example uses the IsSubsetOf method to determine if one SocketPermission is the subset of another.

// Creates a SocketPermission restricting access to and from all URIs.
SocketPermission^ mySocketPermission1 = gcnew SocketPermission( PermissionState::None );

// The socket to which this permission will apply will allow connections from www.contoso.com.
mySocketPermission1->AddPermission( NetworkAccess::Accept, TransportType::Tcp,  "www.contoso.com", 11000 );

// Creates a SocketPermission which will allow the target Socket to connect with www.southridgevideo.com.
SocketPermission^ mySocketPermission2 = gcnew SocketPermission( NetworkAccess::Connect,TransportType::Tcp, "www.southridgevideo.com",11002 );

// Creates a SocketPermission from the union of two SocketPermissions.
SocketPermission^ mySocketPermissionUnion =
   (SocketPermission^)( mySocketPermission1->Union( mySocketPermission2 ) );

// Checks to see if the union was successfully created by using the IsSubsetOf method.
if ( mySocketPermission1->IsSubsetOf( mySocketPermissionUnion ) &&
   mySocketPermission2->IsSubsetOf( mySocketPermissionUnion ) )
{
   Console::WriteLine(  "This union contains permissions from both mySocketPermission1 and mySocketPermission2" );
   
   // Prints the allowable accept URIs to the console.
   Console::WriteLine(  "This union accepts connections on :" );

   IEnumerator^ myEnumerator = mySocketPermissionUnion->AcceptList;
   while ( myEnumerator->MoveNext() )
   {
      Console::WriteLine( safe_cast<EndpointPermission^>( myEnumerator->Current )->ToString() );
   }
   
   // Prints the allowable connect URIs to the console.
   Console::WriteLine(  "This union permits connections to :" );

   myEnumerator = mySocketPermissionUnion->ConnectList;
   while ( myEnumerator->MoveNext() )
   {
      Console::WriteLine( safe_cast<EndpointPermission^>( myEnumerator->Current )->ToString() );
   }
}

 // Creates a SocketPermission restricting access to and from all URIs.
 SocketPermission mySocketPermission1 = new SocketPermission(PermissionState.None);

 // The socket to which this permission will apply will allow connections from www.contoso.com.
 mySocketPermission1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.contoso.com", 11000);

 // Creates a SocketPermission which will allow the target Socket to connect with www.southridgevideo.com.
 SocketPermission mySocketPermission2 =
                            new SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "www.southridgevideo.com", 11002);

 // Creates a SocketPermission from the union of two SocketPermissions.
 SocketPermission mySocketPermissionUnion = 
                            (SocketPermission)mySocketPermission1.Union(mySocketPermission2);

 // Checks to see if the union was successfully created by using the IsSubsetOf method.
 if (mySocketPermission1.IsSubsetOf(mySocketPermissionUnion) && 
 	   mySocketPermission2.IsSubsetOf(mySocketPermissionUnion)){
      Console.WriteLine("This union contains permissions from both mySocketPermission1 and mySocketPermission2"); 

      // Prints the allowable accept URIs to the console.
      Console.WriteLine("This union accepts connections on :");

      IEnumerator myEnumerator = mySocketPermissionUnion.AcceptList;
while (myEnumerator.MoveNext()) {
           Console.WriteLine(((EndpointPermission)myEnumerator.Current).ToString());
     }      

         // Prints the allowable connect URIs to the console.
      Console.WriteLine("This union permits connections to :");

      myEnumerator = mySocketPermissionUnion.ConnectList;
while (myEnumerator.MoveNext()) {
           Console.WriteLine(((EndpointPermission)myEnumerator.Current).ToString());
     }      

       }

' Creates a SocketPermission restricting access to and from all URIs.
Dim mySocketPermission1 As New SocketPermission(PermissionState.None)

' The socket to which this permission will apply will allow connections from www.contoso.com.
mySocketPermission1.AddPermission(NetworkAccess.Accept, TransportType.Tcp, "www.contoso.com", 11000)

' Creates a SocketPermission which will allow the target Socket to connect with www.southridgevideo.com.
Dim mySocketPermission2 As New SocketPermission(NetworkAccess.Connect, TransportType.Tcp, "www.southridgevideo.com", 11002)

' Creates a SocketPermission from the union of two SocketPermissions.
Dim mySocketPermissionUnion As SocketPermission = CType(mySocketPermission1.Union(mySocketPermission2), SocketPermission)

' Checks to see if the union was successfully created by using the IsSubsetOf method.
If mySocketPermission1.IsSubsetOf(mySocketPermissionUnion) And mySocketPermission2.IsSubsetOf(mySocketPermissionUnion) Then
   Console.WriteLine("This union contains permissions from both mySocketPermission1 and mySocketPermission2")
   
   ' Prints the allowable accept URIs to the console.
   Console.WriteLine("This union accepts connections on :")
   
   Dim myEnumerator As IEnumerator = mySocketPermissionUnion.AcceptList
   While myEnumerator.MoveNext()
      Console.WriteLine(CType(myEnumerator.Current, EndpointPermission).ToString())
   End While
   
   Console.WriteLine("This union establishes connections on : ")
   
   ' Prints the allowable connect URIs to the console.
   Console.WriteLine("This union permits connections to :")
   
   myEnumerator = mySocketPermissionUnion.ConnectList
   While myEnumerator.MoveNext()
      Console.WriteLine(CType(myEnumerator.Current, EndpointPermission).ToString())
   End While
End If 

Hinweise

Die aktuelle Berechtigung ist eine Teilmenge der angegebenen Berechtigung, wenn die aktuelle Berechtigung eine Reihe von Vorgängen angibt, die vollständig in die angegebene Berechtigung enthalten ist.The current permission is a subset of the specified permission if the current permission specifies a set of operations that is wholly contained by the specified permission.

Eine Berechtigung, die Zugriff auf 192.168.1.1: 80 darstellt wird z. B. eine Teilmenge einer Berechtigung, die Zugriff auf 192.168.1.1: any darstellt.For example, a permission that represents access to 192.168.1.1:80 is a subset of a permission that represents access to 192.168.1.1:Any. Wenn diese Methode zurückgibt true, die aktuelle Berechtigung stellt keine umfassenderen Zugriff auf die geschützte Ressource als die angegebene Berechtigung.If this method returns true, the current permission represents no more access to the protected resource than does the specified permission.

Gilt für: