SocketPermission.FromXml Method

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.

Implements

ISecurityEncodable.FromXml(SecurityElement)

ExceptionCondition
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.


// <Snippet6>
		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();
// </Snippet3>


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft