SocketPermission Constructor (NetworkAccess, TransportType, String, Int32)


Initializes a new instance of the SocketPermission class for the given transport address with the specified permission.

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

Public Sub New (
	access As NetworkAccess,
	transport As TransportType,
	hostName As String,
	portNumber As Integer


Type: System.Net.NetworkAccess

One of the NetworkAccess values.

Type: System.Net.TransportType

One of the TransportType values.

Type: System.String

The host name for the transport address.

Type: System.Int32

The port number for the transport address.

Exception Condition

hostName is null.

This constructor creates a SocketPermission that controls access to the specified hostName and portNumber using the specified transport.

The hostName can be a DNS name, an IP address, or a specified IP subnet, such as 192.168.1.*.

The portNumber can be any valid port number defined by the transport, or SocketPermission.AllPorts.

The following example creates a SocketPermission using a NetworkAccess enumerated value, a TransportType enumerated value, the hostname, and the port number.

Dim socketPermission1 As New SocketPermission(PermissionState.Unrestricted)

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

'Obtain a 'SocketPermission' object using 'FromXml' method.

Console.WriteLine(ControlChars.Cr + "Displays the result of FromXml method : " + ControlChars.Cr)

'Create another 'SocketPermission' object with two ip addresses.
'First 'SocketPermission' ip-address is '' for 'All' transport types and for 'All' ports for the ip-address.
Dim socketPermission3 As New SocketPermission(NetworkAccess.Connect, TransportType.All, "", SocketPermission.AllPorts)

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

Console.WriteLine("Displays the result of AddPermission method : " + ControlChars.Cr)

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

Console.WriteLine("Displays the result of Intersect method :" + ControlChars.Cr + " ")
'Demand that the calling method have the requsite socket permission.

.NET Framework
Available since 1.1
Return to top