DnsPermission.FromXml(SecurityElement) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Ricostruisce un'istanza di DnsPermission da una codifica XML.
public:
override void FromXml(System::Security::SecurityElement ^ securityElement);
public override void FromXml (System.Security.SecurityElement securityElement);
override this.FromXml : System.Security.SecurityElement -> unit
Public Overrides Sub FromXml (securityElement As SecurityElement)
Parametri
- securityElement
- SecurityElement
Codifica XML da utilizzare per ricostruire l'istanza di DnsPermission.
Eccezioni
securityElement
è null
.
securityElement
non è un elemento di DnsPermission.
Esempio
Nell'esempio seguente viene ricostruita un'istanza DnsPermission da una codifica XML.
public:
void ConstructDnsPermission()
{
try
{
// Create a DnsPermission instance.
DnsPermission^ permission = gcnew DnsPermission( PermissionState::None );
// Create a SecurityElement instance by calling the ToXml method on the
// DnsPermission instance.
// Print its attributes, which hold the XML encoding of the DnsPermission
// instance.
Console::WriteLine( "Attributes and Values of 'DnsPermission' instance :" );
PrintKeysAndValues( permission->ToXml()->Attributes );
// Create a SecurityElement instance.
SecurityElement^ securityElementObj = gcnew SecurityElement( "IPermission" );
// Add attributes and values of the SecurityElement instance corresponding to
// the permission instance.
securityElementObj->AddAttribute( "version", "1" );
securityElementObj->AddAttribute( "Unrestricted", "true" );
securityElementObj->AddAttribute( "class", "System.Net.DnsPermission" );
// Reconstruct a DnsPermission instance from an XML encoding.
DnsPermission^ permission1 = gcnew DnsPermission( PermissionState::None );
permission1->FromXml( securityElementObj );
// Print the attributes and values of the constructed DnsPermission Object*.
Console::WriteLine( "After reconstruction Attributes and Values of new DnsPermission instance :" );
PrintKeysAndValues( permission1->ToXml()->Attributes );
}
catch ( NullReferenceException^ e )
{
Console::WriteLine( "NullReferenceException caught!!!" );
Console::WriteLine( "Source : {0}", e->Source );
Console::WriteLine( "Message : {0}", e->Message );
}
catch ( SecurityException^ e )
{
Console::WriteLine( "SecurityException caught!!!" );
Console::WriteLine( "Source : {0}", e->Source );
Console::WriteLine( "Message : {0}", e->Message );
}
catch ( ArgumentNullException^ e )
{
Console::WriteLine( "ArgumentNullException caught!!!" );
Console::WriteLine( "Source : {0}", e->Source );
Console::WriteLine( "Message : {0}", e->Message );
}
catch ( Exception^ e )
{
Console::WriteLine( "Exception caught!!!" );
Console::WriteLine( "Source : {0}", e->Source );
Console::WriteLine( "Message : {0}", e->Message );
}
}
private:
void PrintKeysAndValues( Hashtable^ myList )
{
// Get the enumerator that can iterate through the hash table.
IDictionaryEnumerator^ myEnumerator = myList->GetEnumerator();
Console::WriteLine( "\t-KEY-\t-VALUE-" );
while ( myEnumerator->MoveNext() )
{
Console::WriteLine( "\t {0}:\t {1}", myEnumerator->Key, myEnumerator->Value );
}
Console::WriteLine();
}
public void ConstructDnsPermission() {
try
{
// Create a DnsPermission instance.
DnsPermission permission = new DnsPermission(PermissionState.None);
// Create a SecurityElement instance by calling the ToXml method on the
// DnsPermission instance.
// Print its attributes, which hold the XML encoding of the DnsPermission
// instance.
Console.WriteLine("Attributes and Values of 'DnsPermission' instance :");
PrintKeysAndValues(permission.ToXml().Attributes);
// Create a SecurityElement instance.
SecurityElement securityElementObj = new SecurityElement("IPermission");
// Add attributes and values of the SecurityElement instance corresponding to
// the permission instance.
securityElementObj.AddAttribute("version", "1");
securityElementObj.AddAttribute("Unrestricted", "true");
securityElementObj.AddAttribute("class","System.Net.DnsPermission");
// Reconstruct a DnsPermission instance from an XML encoding.
DnsPermission permission1 = new DnsPermission(PermissionState.None);
permission1.FromXml(securityElementObj);
// Print the attributes and values of the constructed DnsPermission object.
Console.WriteLine("After reconstruction Attributes and Values of new DnsPermission instance :");
PrintKeysAndValues(permission1.ToXml().Attributes);
}
catch(NullReferenceException e)
{
Console.WriteLine("NullReferenceException caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
catch(SecurityException e)
{
Console.WriteLine("SecurityException caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
catch(ArgumentNullException e)
{
Console.WriteLine("ArgumentNullException caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
catch(Exception e)
{
Console.WriteLine("Exception caught!!!");
Console.WriteLine("Source : " + e.Source);
Console.WriteLine("Message : " + e.Message);
}
}
private void PrintKeysAndValues(Hashtable myList) {
// Get the enumerator that can iterate through the hash table.
IDictionaryEnumerator myEnumerator = myList.GetEnumerator();
Console.WriteLine("\t-KEY-\t-VALUE-");
while (myEnumerator.MoveNext())
Console.WriteLine("\t{0}:\t{1}", myEnumerator.Key, myEnumerator.Value);
Console.WriteLine();
}
Public Sub ConstructDnsPermission()
Try
' Create a DnsPermission instance.
Dim permission As New DnsPermission(PermissionState.None)
' Create a SecurityElement instance by calling the ToXml method on the
' DnsPermission instance and print its attributes,
' which hold the XML encoding of the DnsPermission instance.
Console.WriteLine("Attributes and Values of 'DnsPermission' instance :")
PrintKeysAndValues(permission.ToXml().Attributes)
' Create a SecurityElement instacnce .
Dim securityElementObj As New SecurityElement("IPermission")
' Add attributes and values of the SecurityElement instance corresponding to
' the permission instance.
securityElementObj.AddAttribute("version", "1")
securityElementObj.AddAttribute("Unrestricted", "true")
securityElementObj.AddAttribute("class", "System.Net.DnsPermission")
' Reconstruct a DnsPermission instance from an XML encoding.
Dim permission1 As New DnsPermission(PermissionState.None)
permission1.FromXml(securityElementObj)
' Print the attributes and values of the constructed DnsPermission object.
Console.WriteLine("After reconstruction Attributes and Values of new DnsPermission instance :")
PrintKeysAndValues(permission1.ToXml().Attributes)
Catch e As NullReferenceException
Console.WriteLine("NullReferenceException caught!!!")
Console.WriteLine(("Source : " + e.Source))
Console.WriteLine(("Message : " + e.Message))
Catch e As SecurityException
Console.WriteLine("SecurityException caught!!!")
Console.WriteLine(("Source : " + e.Source))
Console.WriteLine(("Message : " + e.Message))
Catch e As ArgumentNullException
Console.WriteLine("ArgumentNullException caught!!!")
Console.WriteLine(("Source : " + e.Source))
Console.WriteLine(("Message : " + e.Message))
Catch e As Exception
Console.WriteLine("Exception caught!!!")
Console.WriteLine(("Source : " + e.Source))
Console.WriteLine(("Message : " + e.Message))
End Try
End Sub
Private Sub PrintKeysAndValues(myList As Hashtable)
' Get the enumerator that can iterate through the hash table.
Dim myEnumerator As IDictionaryEnumerator = myList.GetEnumerator()
Console.WriteLine(ControlChars.Tab + "-KEY-" + ControlChars.Tab + "-VALUE-")
While myEnumerator.MoveNext()
Console.WriteLine(ControlChars.Tab + "{0}:" + ControlChars.Tab + "{1}", myEnumerator.Key, myEnumerator.Value)
End While
Console.WriteLine()
End Sub
Commenti
Il FromXml metodo ricostruisce un'istanza SecurityElement da una DnsPermission codifica XML definita dalla classe .
Usare il metodo per codificare XML l'istanza ToXmlDnsPermission , incluse le informazioni sullo stato.