Freigeben über


FileIOPermission.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 FileIOPermission
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 zum Wiederherstellen der Berechtigung verwendete XML-Codierung.

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 nicht kompatibel.

Beispiel

    Private Function ToFromXmlDemo() As Boolean

        Dim returnValue As Boolean = True

        Dim fileIO1 As String = ""
        Dim fileIOPerm1, fileIOPerm2 As FileIOPermission

        Dim fileIOGen1 As New FileIOGenerator()
        Dim fileIOGen2 As New FileIOGenerator()

        fileIOGen1.ResetIndex()
        While fileIOGen1.CreateFilePath(fileIO1)
            If fileIO1 = "" Then
                fileIOPerm1 = New FileIOPermission(PermissionState.None)
            Else
                fileIOPerm1 = New FileIOPermission(FileIOPermissionAccess.Read, fileIO1)
            End If
            Console.WriteLine("********************************************************" & ControlChars.Lf)
            fileIOGen2.ResetIndex()
            Try
                fileIOPerm2 = New FileIOPermission(PermissionState.None)
                fileIOPerm2.FromXml(fileIOPerm1.ToXml())
                Console.WriteLine(("Result of ToFromXml = " & fileIOPerm2.ToString() & ControlChars.Lf))

            Catch e As Exception
                Console.WriteLine(("ToFromXml failed :" & fileIOPerm1.ToString() & e.ToString()))
                GoTo ContinueWhile1
            End Try
ContinueWhile1:
        End While

        Return returnValue
    End Function 'ToFromXmlDemo
private bool ToFromXmlDemo()
{

    bool returnValue = true;

    string fileIO1;
    FileIOPermission fileIOPerm1, fileIOPerm2;

    FileIOGenerator fileIOGen1 = new FileIOGenerator();
    FileIOGenerator fileIOGen2 = new FileIOGenerator();

    fileIOGen1.ResetIndex();
    while (fileIOGen1.CreateFilePath( out fileIO1 ))
    {
        if (fileIO1 == "")
            fileIOPerm1 = new FileIOPermission(PermissionState.None);
        else
            fileIOPerm1 = new FileIOPermission(FileIOPermissionAccess.Read, fileIO1);

        Console.WriteLine("********************************************************\n");
        fileIOGen2.ResetIndex();
        try
        {
            fileIOPerm2 = new FileIOPermission(PermissionState.None);
            fileIOPerm2.FromXml(fileIOPerm1.ToXml());
            Console.WriteLine("Result of ToFromXml = " + fileIOPerm2.ToString() + "\n");

        }
        catch (Exception e)
        {
            Console.WriteLine("ToFromXml failed :" + fileIOPerm1.ToString() + e);
            continue;
        }
    }

    return returnValue;

}
bool ToFromXmlDemo()
{
   bool returnValue = true;
   String^ fileIO1;
   FileIOPermission^ fileIOPerm1;
   FileIOPermission^ fileIOPerm2;
   FileIOGenerator^ fileIOGen1 = gcnew FileIOGenerator;
   FileIOGenerator^ fileIOGen2 = gcnew FileIOGenerator;
   fileIOGen1->ResetIndex();
   while ( fileIOGen1->CreateFilePath( &fileIO1 ) )
   {
      if (fileIO1 == "")
          fileIOPerm1 = gcnew FileIOPermission(PermissionState::None);
       else
           fileIOPerm1 = gcnew FileIOPermission(FileIOPermissionAccess::Read, fileIO1);

      Console::WriteLine( "********************************************************\n" );
      fileIOGen2->ResetIndex();
      try
      {
         fileIOPerm2 = gcnew FileIOPermission( PermissionState::None );
         fileIOPerm2->FromXml( fileIOPerm1->ToXml() );
         Console::WriteLine( "Result of ToFromXml = {0}\n", fileIOPerm2 );
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "ToFromXml failed :{0}{1}", fileIOPerm1, e );
         continue;
      }

   }

   return returnValue;
}

// 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 returnValue = true;
    String fileIO1[] = new String[1];
    FileIOPermission fileIOPerm1[] = new FileIOPermission[1];
    FileIOPermission fileIOPerm2[] = new FileIOPermission[1];

    FileIOGenerator fileIOGen1 =  new FileIOGenerator();
    FileIOGenerator fileIOGen2 =  new FileIOGenerator();
    
    fileIOGen1.ResetIndex();
    while(fileIOGen1.CreateFilePath(fileIOPerm1, fileIO1, 
        FileIOPermissionAccess.Read)) {
        if (fileIOPerm1[0] == null) {
            continue ;
        }
        Console.WriteLine("**********************************" 
            + "**********************\n");
        fileIOGen2.ResetIndex();
        try {
            fileIOPerm2[0] = new FileIOPermission(PermissionState.None);
            fileIOPerm2[0].FromXml(fileIOPerm1[0].ToXml());
            Console.WriteLine(("Result of ToFromXml = " 
                + fileIOPerm2[0].ToString() + "\n"));
        } 
        catch(System.Exception  e) {
            Console.WriteLine(("ToFromXml failed :" 
                + fileIOPerm1[0].ToString() + e));
            continue ;
        }
    }
    return returnValue ;
} //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

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