Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch
Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

SocketPermission-Konstruktor (PermissionState)

Initialisiert eine neue Instanz der SocketPermission-Klasse, die unbeschränkten Zugriff auf Socket ermöglicht oder keinen Zugriff auf Socket zulässt.

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

public SocketPermission(
	PermissionState state
)

Wenn die SocketPermission-Instanz mit dem Unrestricted-Wert von PermissionState erstellt wurde, übergibt die SocketPermission-Instanz alle Anforderungen. Jeder andere Wert für state führt zu einer SocketPermission-Instanz, bei der alle Anforderungen fehlschlagen, es sei denn, eine Berechtigung für die Transportadresse wird mit AddPermission hinzugefügt.

Im folgenden Beispiel wird eine SocketPermission unter Verwendung eines PermissionState-Enumerationswerts erstellt.


// <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

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Anzeigen: