[AttributeUsage(AttributeTargets.Assembly | AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Constructor | AttributeTargets.Method)] |
[SocketPermission(SecurityAction.Assert, Access = "Connect",
Host = "192.168.144.238", Port = "All", Transport = "All")]
[SocketPermission(SecurityAction.Deny, Access = "Connect",
Host = "192.168.144.239", Port = "All", Transport = "All")]
public String GetDate() {
// Gets the current date from the remote date server.
try {
int bytesReceived;
byte[] getByte = new byte[100];
Socket mysocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try {
mysocket.Connect(new IPEndPoint(IPAddress.Parse("192.168.144.239"), 13));
}
catch (SecurityException e){
Console.WriteLine("SecurityException (expected)" + e.Message);
}
mysocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
mysocket.Connect(new IPEndPoint(IPAddress.Parse("192.168.144.238"), 13));
bytesReceived = mySocket.Receive( getByte, getByte.Length, 0 );
return asciiEncoding.GetString( getByte, 0, bytesReceived );
}
catch(Exception e)
{
Console.WriteLine(e.Message);
return "";
}
}
| ctor #1 | Initializes a new instance of the SocketPermissionAttribute class with the specified SecurityAction value. |
| Access | Read-write Gets or sets the network access method allowed by this SocketPermissionAttribute. |
| Action (inherited from System.Security.Permissions.SecurityAttribute) |
Read-write See base class member description: System.Security.Permissions.SecurityAttribute.Action Gets or sets a security action. |
| Host | Read-write Gets or sets the DNS host name or IP address specified by this SocketPermissionAttribute. |
| Port | Read-write Gets or sets the port number associated with this SocketPermissionAttribute. |
| Transport | Read-write Gets or sets the TransportType specified by this SocketPermissionAttribute. |
| TypeId (inherited from System.Attribute) |
Read-only See base class member description: System.Attribute.TypeId When implemented in a derived class, gets a unique identifier for this Attribute. |
| Unrestricted (inherited from System.Security.Permissions.SecurityAttribute) |
Read-write See base class member description: System.Security.Permissions.SecurityAttribute.Unrestricted Gets or sets a value indicating whether full (unrestricted) permission to the resource protected by the attribute is declared. |
| CreatePermission | Overridden: Creates and returns a new instance of the SocketPermission class. |
| Equals (inherited from System.Object) |
See base class member description: System.Object.Equals Derived from System.Object, the primary base class for all objects. |
| GetHashCode (inherited from System.Attribute) |
See base class member description: System.Attribute.GetHashCode Returns the hash code for this instance. |
| GetType (inherited from System.Object) |
See base class member description: System.Object.GetType Derived from System.Object, the primary base class for all objects. |
| IsDefaultAttribute (inherited from System.Attribute) |
See base class member description: System.Attribute.IsDefaultAttribute When overridden in a derived class, returns an indication whether the value of this instance is the default value for the derived class. |
| Match (inherited from System.Attribute) |
See base class member description: System.Attribute.Match When overridden in a derived class, returns a value indicating whether this instance equals a specified object. |
| ToString (inherited from System.Object) |
See base class member description: System.Object.ToString Derived from System.Object, the primary base class for all objects. |
| Finalize (inherited from System.Object) |
See base class member description: System.Object.Finalize Derived from System.Object, the primary base class for all objects. |
| MemberwiseClone (inherited from System.Object) |
See base class member description: System.Object.MemberwiseClone Derived from System.Object, the primary base class for all objects. |
Hierarchy:
public SocketPermissionAttribute( |
action
[SocketPermission(SecurityAction.Assert, Access = "Connect",
Host = "192.168.144.238", Port = "All", Transport = "All")]
[SocketPermission(SecurityAction.Deny, Access = "Connect",
Host = "192.168.144.239", Port = "All", Transport = "All")]
public String GetDate() {
// Gets the current date from the remote date server.
try {
int bytesReceived;
byte[] getByte = new byte[100];
Socket mysocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try {
mysocket.Connect(new IPEndPoint(IPAddress.Parse("192.168.144.239"), 13));
}
catch (SecurityException e){
Console.WriteLine("SecurityException (expected)" + e.Message);
}
mysocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
mysocket.Connect(new IPEndPoint(IPAddress.Parse("192.168.144.238"), 13));
bytesReceived = mySocket.Receive( getByte, getByte.Length, 0 );
return asciiEncoding.GetString( getByte, 0, bytesReceived );
}
catch(Exception e)
{
Console.WriteLine(e.Message);
return "";
}
}
public string Access {get; set;}
|
| Exception Type | Condition |
|---|---|
| ArgumentException | The SocketPermissionAttribute.Access property is not null when you attempt to set the value. If you wish to specify more than one Access method, use an additional attribute declaration statement. |
public SecurityAction Action {get; set;}
|
public string Host {get; set;}
|
| Exception Type | Condition |
|---|---|
| ArgumentException | SocketPermissionAttribute.Host is not null when you attempt to set the value. If you wish to specify more than one host, use an additional attribute declaration statement. |
public string Port {get; set;}
|
| Exception Type | Condition |
|---|---|
| ArgumentException | The SocketPermissionAttribute.Port property is null when attempt to set the value. If you wish to specify more than one port, use an additional attribute declaration statement. |
public string Transport {get; set;}
|
| Exception Type | Condition |
|---|---|
| ArgumentException | SocketPermissionAttribute.Transport is not null when you attempt to set the value. If you wish to specify more than one transport type, use an additional attribute declaration statement. |
public virtual object TypeId {get;}
|
public bool Unrestricted {get; set;}
|
public override IPermission CreatePermission(); |
~SocketPermissionAttribute(); |
public override int GetHashCode(); |
public Type GetType(); |
public virtual bool IsDefaultAttribute(); |
The implementation of this method in a derived class compares the value of this instance to a standard, default value obtained by some means, then returns a Boolean value that indicates whether the value of this instance is equal to the standard. The standard value is typically coded as a constant in the implementation, or stored programmatically in a field used by the implementation.
obj
protected object MemberwiseClone(); |
public virtual string ToString(); |