Freigeben über


SiteIdentityPermission.FromXml-Methode

Rekonstruiert aus einer XML-Codierung eine Berechtigung mit einem angegebenen Zustand.

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

Syntax

'Declaration
Public Overrides Sub FromXml ( _
    esd As SecurityElement _
)
'Usage
Dim instance As SiteIdentityPermission
Dim esd As SecurityElement

instance.FromXml(esd)
public override void FromXml (
    SecurityElement esd
)
public:
virtual void FromXml (
    SecurityElement^ esd
) override
public void FromXml (
    SecurityElement esd
)
public override function FromXml (
    esd : SecurityElement
)

Parameter

  • esd
    Die XML-Codierung, die zum Wiederherstellen der Berechtigung verwendet werden soll.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentNullException

Der esd-Parameter ist NULL (Nothing in Visual Basic).

ArgumentException

Der esd-Parameter ist kein gültiges Berechtigungselement.

- oder -

Die Versionsnummer des esd-Parameters ist ungültig.

Beispiel

    ' ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a 
    ' permission with the specified state from the XML encoding. 
    Private Function ToFromXmlDemo() 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 = New SiteIdentityPermission(PermissionState.None)
                siteIdPerm2.FromXml(siteIdPerm1.ToXml())
                Dim result As Boolean = siteIdPerm2.Equals(siteIdPerm1)
                If siteIdPerm2.IsSubsetOf(siteIdPerm1) AndAlso siteIdPerm1.IsSubsetOf(siteIdPerm2) Then
                    Console.WriteLine(("Result of ToFromXml = " & siteIdPerm2.ToString()))
                Else
                    Console.WriteLine(siteIdPerm2.ToString())
                    Console.WriteLine(siteIdPerm1.ToString())
                End If
            Catch e As Exception
                Console.WriteLine(("ToFromXml failed. " & e.ToString()))
                GoTo ContinueWhile1
            End Try
ContinueWhile1:
        End While


        Return returnCodeCode
    End Function 'ToFromXmlDemo
// ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a
// permission with the specified state from the XML encoding.
private bool ToFromXmlDemo()
{

    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 = new SiteIdentityPermission(PermissionState.None);
            siteIdPerm2.FromXml(siteIdPerm1.ToXml());
            bool result = siteIdPerm2.Equals(siteIdPerm1);
            if (siteIdPerm2.IsSubsetOf(siteIdPerm1) && siteIdPerm1.IsSubsetOf(siteIdPerm2))
            {
                Console.WriteLine("Result of ToFromXml = " + siteIdPerm2.ToString());
            }
            else
            {
                Console.WriteLine(siteIdPerm2.ToString());
                Console.WriteLine(siteIdPerm1.ToString());
            }
        }
        catch (Exception e)
        {
            Console.WriteLine("ToFromXml failed. " + e);
            continue;
        }

    }


    return returnCodeCode;

}
   // ToXml creates an XML encoding of the permission and its current state; FromXml reconstructs a
   // permission with the specified state from the XML encoding.
   bool ToFromXmlDemo()
   {
      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 = gcnew SiteIdentityPermission( PermissionState::None );
            siteIdPerm2->FromXml( siteIdPerm1->ToXml() );
            bool result = siteIdPerm2->Equals( siteIdPerm1 );
            if ( siteIdPerm2->IsSubsetOf( siteIdPerm1 ) && siteIdPerm1->IsSubsetOf( siteIdPerm2 ) )
            {
               Console::WriteLine( "Result of ToFromXml = {0}", siteIdPerm2 );
            }
            else
            {
               Console::WriteLine( siteIdPerm2 );
               Console::WriteLine( siteIdPerm1 );
            }
         }
         catch ( Exception^ e ) 
         {
            Console::WriteLine( "ToFromXml failed. {0}", e );
            continue;
         }

      }

      return returnCodeCode;
   }


public:
// ToXml creates an XML encoding of the permission and its current state;
// FromXml reconstructs a permission with the specified state from the 
// XML encoding.
private boolean ToFromXmlDemo() 
{
     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] = new SiteIdentityPermission(PermissionState.None);
         siteIdPerm2[0].FromXml(siteIdPerm1[0].ToXml());
         boolean result = siteIdPerm2[0].Equals(siteIdPerm1[0]);
         if (siteIdPerm2[0].IsSubsetOf(siteIdPerm1[0]) && 
             siteIdPerm1[0].IsSubsetOf(siteIdPerm2[0])) {
             Console.WriteLine(("Result of ToFromXml = " 
                 + siteIdPerm2[0].ToString()));
         }
         else {
             Console.WriteLine(siteIdPerm2[0].ToString());
             Console.WriteLine(siteIdPerm1[0].ToString());
         }
     }
     catch(Exception e) {
         Console.WriteLine(("ToFromXml failed. " + e));
         continue ;
      }
   }
   return returnCodeCode ;
} //ToFromXmlDemo
 

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