FromXml Method
Collapse the table of content
Expand the table of content

SocketPermission.FromXml Method (SecurityElement)

 

Reconstructs a SocketPermission instance for an XML encoding.

Namespace:   System.Net
Assembly:  System (in System.dll)

public override void FromXml(
	SecurityElement securityElement
)

Parameters

securityElement
Type: System.Security.SecurityElement

The XML encoding used to reconstruct the SocketPermission instance.

Exception Condition
ArgumentNullException

The securityElement is null.

ArgumentException

The securityElement is not a permission element for this type.

The FromXml method reconstructs a SocketPermission instance from an XML encoding defined by the SecurityElement class.

Use the ToXml method to encode the SocketPermission instance, including state information, in XML.

The following example uses the FromXml method to convert XML encoded data to a SocketPermission instance.

SocketPermission socketPermission1 = new SocketPermission(PermissionState.Unrestricted);

// Create a 'SocketPermission' object for two ip addresses.
SocketPermission socketPermission2 = new SocketPermission(PermissionState.None);
SecurityElement securityElement1 = socketPermission2.ToXml();
// 'SocketPermission' object for 'Connect' permission
SecurityElement securityElement2 = new SecurityElement("ConnectAccess");
// Format to specify ip address are <ip-address>#<port>#<transport-type>
// First 'SocketPermission' ip-address is '192.168.144.238' for 'All' transport types and 
    // for 'All'ports for the ip-address.
SecurityElement securityElement3 = new SecurityElement("URI", "192.168.144.238#-1#3");
// Second 'SocketPermission' ip-address is '192.168.144.240' for 'All' transport types and 
    // for 'All' ports for the ip-address.
SecurityElement securityElement4 = new SecurityElement("URI", "192.168.144.240#-1#3");
securityElement2.AddChild(securityElement3);
securityElement2.AddChild(securityElement4);
securityElement1.AddChild(securityElement2);

  // Obtain a 'SocketPermission' object using 'FromXml' method.
socketPermission2.FromXml(securityElement1);

Console.WriteLine("\nDisplays the result of FromXml method : \n");
Console.WriteLine(socketPermission2.ToString());

// Create another 'SocketPermission' object with two ip addresses.
// First 'SocketPermission' ip-address is '192.168.144.238' for 'All' transport types and for 'All' ports for the ip-address.
SocketPermission socketPermission3 = 
				new SocketPermission(NetworkAccess.Connect,
									 TransportType.All,
									 "192.168.144.238",
									 SocketPermission.AllPorts);

  // Second 'SocketPermission' ip-address is '192.168.144.239' for 'All' transport types and for 'All' ports for the ip-address.
socketPermission3.AddPermission(NetworkAccess.Connect,
							   TransportType.All,
							   "192.168.144.239",
							   SocketPermission.AllPorts);

Console.WriteLine("Displays the result of AddPermission method : \n");
Console.WriteLine(socketPermission3.ToString());

  // Find the intersection between two 'SocketPermission' objects.
socketPermission1 = (SocketPermission)socketPermission2.Intersect(socketPermission3);

Console.WriteLine("Displays the result of Intersect method :\n ");
Console.WriteLine(socketPermission1.ToString());

// Demand that the calling method have the requsite socket permission.
socketPermission1.Demand();

.NET Framework
Available since 1.1
Return to top
Show:
© 2016 Microsoft