public class SocketPermission : CodeAccessPermission
Object
CodeAccessPermission
SocketPermissionThis type implements IPermission.
System
Networking
Secures socket connections.
SocketPermission instances control permission to accept connections or initiate socket connections. A socket permission can secure access based on host name or IP address, a port number, and a transport protocol.The XML encoding of a SocketPermission instance is defined below in EBNF format, in particular the following conventions are used:
The following meta-language symbols are used:
- All non-literals in the grammar below are shown in normal type.
- All literals are in bold font.
BuildVersion refers to the build version of the shipping CLI. This is a dotted build number such as '2412.0'.
- '*' represents a meta-language symbol suffixing an expression that can appear zero or more times.
- '?' represents a meta-language symbol suffixing an expression that can appear zero or one time.
- '+' represents a meta-language symbol suffixing an expression that can appear one or more times.
- '(',')' is used to group literals, non-literals or a mixture of literals and non-literals.
- '|' denotes an exclusive disjunction between two expressions.
- '::= ' denotes a production rule where a left hand non-literal is replaced by a right hand expression containing literals, non-literals or both.
ECMAPubKeyToken ::=
b77a5c561934e089
HostName refers to a host name such as
www.contoso.com
.Portnumber denotes a Int32 value indicating a port.
TransportProtocol ::=
1
|2
|3
/*1= UDP , 2 = TCP, 3 = both */SocketPermissionXML::=
<IPermission class="
System.Net.SocketPermission,
System,
Version=1.0.
BuildVersion,
Culture=neutral,
PublicKeyToken
=ECMAPubKeyToken"
version="1"
(
Unrestricted="true"
)
|
>
(
<ConnectAccess>
(
<ENDPOINT>
HostName#
PortNumber#
TransportProtocol</ENDPOINT>
)+
</ConnectAccess>
)
|
>
(
<AcceptAccess>
(
<ENDPOINT>
HostName#
PortNumber#
TransportProtocol</ENDPOINT>
)+
</AcceptAccess>
</IPermission>
)
|
/>
System.Net Namespace
SocketPermission Constructors
SocketPermission(System.Security.Permissions.PermissionState) Constructor
SocketPermission(System.Net.NetworkAccess, System.Net.TransportType, System.String, int) Constructor
SocketPermission Methods
SocketPermission.Copy Method
SocketPermission.FromXml Method
SocketPermission.Intersect Method
SocketPermission.IsSubsetOf Method
SocketPermission.ToXml Method
SocketPermission.Union Method
SocketPermission Fields
public SocketPermission(PermissionState state);
Constructs and initializes a new instance of the SocketPermission class with the specified PermissionState value.
- state
- A PermissionState value.
[Note: This constructor creates either fully restricted (System.Security.Permissions.PermissionState.None) or System.Security.Permissions.PermissionState.Unrestricted access to sockets.]
System.Net.SocketPermission Class, System.Net Namespace
public SocketPermission(NetworkAccess access, TransportType transport, string hostName, int portNumber);
Constructs and initializes a new instance of the SocketPermission class.
- access
- A NetworkAccess value indicating the type of access to secure.
- transport
- A TransportType value indicating the transport type to secure. Specify System.Net.TransportType.All to create a permission that secures all transport types.
- hostName
- A String containing the host name for the transport address.
- portNumber
- A Int32 containing the port number for the transport address. Specify System.Net.SocketPermission.AllPorts create a permission that secures all ports.
Exception Type Condition ArgumentNullException The hostName parameter is null
.
No exception is thrown if the specified TransportType or NetworkAccess is invalid.
System.Net.SocketPermission Class, System.Net Namespace
public override IPermission Copy();
Returns a new SocketPermission object containing the same values as the current instance.
A new SocketPermission containing the same values as the current instance.
[Note: The object returned by this method represents the same level of access as the current instance.This method overrides System.Security.CodeAccessPermission.Copy and is implemented to support the IPermission interface.
]
System.Net.SocketPermission Class, System.Net Namespace
public override void FromXml(SecurityElement securityElement);
Reconstructs the state of a SocketPermission object using the specified XML encoding.
- securityElement
- A SecurityElement instance containing the XML encoding used to reconstruct the state of a SocketPermission object.
Exception Type Condition ArgumentNullException securityElement is null
.
ArgumentException securityElement is not a SocketPermission permission element.
The state of the current instance is changed to the state encoded in securityElement.[Note: For the XML schema for this class, see the SocketPermission class page.
This method overrides System.Security.CodeAccessPermission.FromXml(System.Security.SecurityElement).
]
System.Net.SocketPermission Class, System.Net Namespace
public override IPermission Intersect(IPermission target);
Returns a SocketPermission object that is the intersection of the current instance and the specified object.
- target
- A SocketPermission instance to intersect with the current instance.
A new SocketPermission instance that represents the intersection of the current instance and target. If target isnull
, returnsnull
. If the intersection is empty, returnsnull
. If the current instance is unrestricted, returns a copy of target. If target is unrestricted, returns a copy of the current instance.
Exception Type Condition ArgumentException target is not of type SocketPermission .
[Note: The intersection of two permissions is a permission that secures the resources and operations secured by both permissions. Specifically, it represents the minimum permission such that any demand that passes both permissions will also pass their intersection.This method overrides System.Security.CodeAccessPermission.Intersect(System.Security.IPermission) and is implemented to support the IPermission interface.
]
System.Net.SocketPermission Class, System.Net Namespace
public override bool IsSubsetOf(IPermission target);
Determines whether the current instance is a subset of the specified object.
- target
- A SocketPermission instance that is to be tested for the subset relationship.
true
if the current instance is a subset of target ; otherwise,false
. If the current instance is unrestricted, and target is not, returnsfalse
. If target is unrestricted, returnstrue
. If target isnull
and the current instance does not secure any resources and is not unrestricted, returnstrue
.
Exception Type Condition ArgumentException target is not null
and is not of type SocketPermission.
The subset relationship istrue
if every resource secured by the current instance is secured by target .[Note: This method overrides System.Security.CodeAccessPermission.IsSubsetOf(System.Security.IPermission) and is implemented to support the IPermission interface.
]
System.Net.SocketPermission Class, System.Net Namespace
public override SecurityElement ToXml();
Returns the XML encoding of the current instance.
A SecurityElement containing the XML encoding of the state of the current instance.
[Note: For the XML schema for this class, see the SocketPermission class page.This method overrides System.Security.CodeAccessPermission.ToXml .
]
System.Net.SocketPermission Class, System.Net Namespace
public override IPermission Union(IPermission target);
Returns a SocketPermission that is the union of the current instance and the specified object.
- target
- A SocketPermission instance to combine with the current instance.
A SocketPermission instance that represents the union of the current instance and target. If the current instance or target is unrestricted, returns a SocketPermission instance that is unrestricted.
Exception Type Condition ArgumentNullException target is null
.ArgumentException target is not of type SocketPermission .
[Note: The result of a call to System.Net.SocketPermission.Union(System.Security.IPermission) is a permission that represents all of the access to socket connections represented by the current instance as well as the access represented by target. Any demand that passes either the current instance or target passes their union.This method overrides System.Security.CodeAccessPermission.Union(System.Security.IPermission) and is implemented to support the IPermission interface.
]
System.Net.SocketPermission Class, System.Net Namespace
public const int AllPorts = -1;
Defines a constant value that represents all ports.This field is read-only. The value of this field is -1.
System.Net.SocketPermission Class, System.Net Namespace