Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Método SocketPermission.Intersect

Retorna a interseção de lógica entre dois SocketPermission instâncias.

Namespace:  System.Net
Assembly:  System (em System.dll)
public override IPermission Intersect(
	IPermission target
)

Parâmetros

target
Tipo: System.Security.IPermission
O SocketPermission instância para fazer intersecção com a instância atual.

Valor de retorno

Tipo: System.Security.IPermission
O SocketPermission instância que representa a interseção de dois SocketPermission instâncias. Se a interseção estiver vazia, o método retorna null. Se a target parâmetro é uma referência nula, o método retorna null.

Implementações

IPermission.Intersect(IPermission)
ExceçãoCondição
ArgumentException

O target parâmetro não é um SocketPermission.

SecurityException

DnsPermission não é concedido para o chamador do método.

A interseção de duas permissões é uma permissão que ajuda a proteger os recursos e operações protegidas por ambas as permissões. Especificamente, ele representa a permissão mínima, de modo que qualquer demanda que passa as duas permissões também passa sua interseção. Esse método substitui Intersect e é implementado para dar suporte a IPermission interface.

O exemplo a seguir usa a Intersect método para obter uma interseção lógica entre dois SocketPermission instâncias.


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

Com suporte em: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Com suporte em: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Função Server Core sem suporte), Windows Server 2008 R2 (Função Server Core com suporte com o SP1 ou posterior, Itanium sem suporte)

O .NET Framework não oferece suporte a todas as versões de cada plataforma. Para obter uma lista das versões com suporte, consulte .Requisitos de sistema do NET Framework.
Isso foi útil para você?
(1500 caracteres restantes)

Contribuições da comunidade

ADICIONAR
© 2013 Microsoft. Todos os direitos reservados.