Freigeben über


SiteIdentityPermission.Copy-Methode

Erstellt eine identische Kopie der aktuellen Berechtigung und gibt die Kopie zurück.

Namespace: System.Security.Permissions
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overrides Function Copy As IPermission
'Usage
Dim instance As SiteIdentityPermission
Dim returnValue As IPermission

returnValue = instance.Copy
public override IPermission Copy ()
public:
virtual IPermission^ Copy () override
public IPermission Copy ()
public override function Copy () : IPermission

Rückgabewert

Eine Kopie der aktuellen Berechtigung.

Hinweise

Eine Kopie der Berechtigung stellt denselben Ressourcenzugriff bzw. dieselbe Site-Identität wie die ursprüngliche Berechtigung dar.

Beispiel

    'Copy creates and returns an identical copy of the current permission.
    Private Function CopyDemo() As Boolean

        Dim returnCodeCode As Boolean = True

        Dim site1 As [String] = ""
        Dim siteIdPerm1, siteIdPerm2 As SiteIdentityPermission

        Dim siteGen1 As New SiteGenerator()
        Dim siteGen2 As New SiteGenerator()

        siteGen1.ResetIndex()
        While siteGen1.CreateSite(site1)
            siteIdPerm1 = siteGen1.CreatePerm(site1)
            If siteIdPerm1 Is Nothing Then
                GoTo ContinueWhile1
            End If
            siteGen2.ResetIndex()
            Console.WriteLine("**************************************************************************")
            Try
                siteIdPerm2 = CType(siteIdPerm1.Copy(), SiteIdentityPermission)
                If Not (siteIdPerm2 Is Nothing) Then
                    Console.WriteLine(("The copy of " & siteIdPerm2.ToString() & " succeeded." & ControlChars.Lf))
                End If

            Catch e As Exception
                Console.WriteLine(("The copy failed : " & siteIdPerm1.ToString() & e.ToString()))
                GoTo ContinueWhile1
            End Try
ContinueWhile1:
        End While
        Return returnCodeCode
    End Function 'CopyDemo
//Copy creates and returns an identical copy of the current permission.
private bool CopyDemo()
{

    bool returnCodeCode = true;

    String site1;
    SiteIdentityPermission siteIdPerm1, siteIdPerm2;
    SiteGenerator siteGen1 = new SiteGenerator();
    SiteGenerator siteGen2 = new SiteGenerator();

    siteGen1.ResetIndex();
    while (siteGen1.CreateSite(out site1))
    {
        siteIdPerm1 = siteGen1.CreatePerm(site1);
        if (siteIdPerm1 == null ) continue;
        siteGen2.ResetIndex();
        Console.WriteLine("**************************************************************************");
        try
        {
            siteIdPerm2 = (SiteIdentityPermission)siteIdPerm1.Copy();
            if (siteIdPerm2 != null)
            {
                Console.WriteLine("The copy of " + siteIdPerm2.ToString() + " succeeded.\n");
            }

        }
        catch (Exception e)
        {
            Console.WriteLine("The copy failed : " + siteIdPerm1.ToString() + e);
            continue;
        }
    }
    return returnCodeCode;

}
//Copy creates and returns an identical copy of the current permission.
bool CopyDemo()
{
   bool returnCodeCode = true;
   String^ site1;
   SiteIdentityPermission^ siteIdPerm1;
   SiteIdentityPermission^ siteIdPerm2;

   SiteGenerator^ siteGen1 = gcnew SiteGenerator;
   SiteGenerator^ siteGen2 = gcnew SiteGenerator;
   siteGen1->ResetIndex();
   while ( siteGen1->CreateSite(  &site1  ) )
   {
      siteIdPerm1 = siteGen1->CreatePerm(&site1);
      if ( siteIdPerm1 == nullptr  )
               continue;

      siteGen2->ResetIndex();
      Console::WriteLine( "**************************************************************************" );
      try
      {
         siteIdPerm2 = dynamic_cast<SiteIdentityPermission^>(siteIdPerm1->Copy());
         if ( siteIdPerm2 != nullptr )
         {
            Console::WriteLine( "The copy of {0} succeeded.\n", siteIdPerm2 );
         }
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "The copy failed : {0}{1}", siteIdPerm1, e );
         continue;
      }

   }

   return returnCodeCode;
}

//Copy creates and returns an identical copy of the current permission.
private boolean CopyDemo() 
{
     boolean returnCodeCode = true;
   
     String site1[] = new String[1];
     SiteIdentityPermission siteIdPerm1[] = new SiteIdentityPermission[1];
     SiteIdentityPermission siteIdPerm2[] = new SiteIdentityPermission[1];
     boolean successFlag[] = new boolean[1];
   
     SiteGenerator siteGen1 =  new SiteGenerator();
     SiteGenerator siteGen2 =  new SiteGenerator();
   
     siteGen1.ResetIndex();
     while(siteGen1.CreateSite(siteIdPerm1, site1, successFlag)) {
     if (siteIdPerm1[0] == null | successFlag[0] == false) {
         continue ;
     }
     siteGen2.ResetIndex();
     Console.WriteLine("*********************************" 
         + "*****************************************");
     try {
         siteIdPerm2[0] =((SiteIdentityPermission)(siteIdPerm1[0].Copy()));
         if (siteIdPerm2  != null) {
             Console.WriteLine(("The copy of " 
                 + siteIdPerm2[0].ToString() + " succeeded.\n"));
         }
     }
     catch(Exception e) {
         Console.WriteLine(("The copy failed : " 
             + siteIdPerm1[0].ToString() + e));
        continue ;
      }
   }
  return returnCodeCode ;
} //CopyDemo

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

SiteIdentityPermission-Klasse
SiteIdentityPermission-Member
System.Security.Permissions-Namespace