PeerNameResolver.Resolve Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Resolve um objeto PeerName para um PeerNameRecord usando o protocolo PNRP.
Sobrecargas
Resolve(PeerName) |
Resolve o PeerName especificado em todas as nuvens conhecidas para o par de chamada. |
Resolve(PeerName, Int32) |
Resolve o nome do par especificado em todas as nuvens conhecidas para o par de chamada, retornando não mais do que o número especificado de objetos PeerNameRecord. |
Resolve(PeerName, Cloud) | |
Resolve(PeerName, Cloud, Int32) |
Resolve o PeerName especificado na Cloud especificada, retornando não mais do que o número especificado de objetos PeerNameRecord. |
Comentários
Esse método associa nomes de pares a nuvens. Chamar o PeerNameResolver método é semelhante a chamar o Resolve método para cada registro de nome de par no PeerNameRecordCollection. Observe que o uso do método Resolve em um registro de nome de par individual não invalida a resolução de vários nomes de pares.
Para cada Resolve método, há um método equivalente ResolveAsync . Eles são idênticos nos parâmetros que são passados, exceto que o método ResolveAsync inclui um token do sistema em sua lista de parâmetros para tratamento de eventos assíncronos.
Se o Cloud parâmetro não for fornecido, o método usará o Available atalho para preencher parâmetros de nuvem. Se o maxRecords
parâmetro estiver ausente, o valor padrão de zero fará com que uma exceção ArgumentOutOfRangeException seja gerada.
Esse evento também será gerado se a operação de resolve for concluída por erro ou for cancelada.
Resolve(PeerName)
Resolve o PeerName especificado em todas as nuvens conhecidas para o par de chamada.
public:
System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName);
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve (System.Net.PeerToPeer.PeerName peerName);
member this.Resolve : System.Net.PeerToPeer.PeerName -> System.Net.PeerToPeer.PeerNameRecordCollection
Public Function Resolve (peerName As PeerName) As PeerNameRecordCollection
Parâmetros
Retornos
Uma PeerNameRecordCollection que contém todos os registros de nomes de par (representados como objetos PeerNameRecord) associados ao nome de par especificado. Para nomes de par não seguros, o mesmo PeerName pode ser registrado por usuários diferentes na mesma Cloud e associado a diferentes pontos de extremidade.
Exceções
O parâmetro peerName
é definido como null
.
O nome do par especificado não pode ser resolvido.
Exemplos
O exemplo de código a seguir ilustra como resolve um PeerName publicado em qualquer Cloud.
static void Main(string[] args)
{
try
{
if (args.Length != 1)
{
Console.WriteLine("Usage: PeerNameResolver.exe <PeerNameToResolve>");
return;
}
// create a resolver object to resolve a Peer Name that was previously published
PeerNameResolver resolver = new PeerNameResolver();
// The Peer Name to resolve must be passed as the first
// command line argument to the application
PeerName peerName = new PeerName(args[0]);
// Resolve the Peer Name
// This is a network operation and will block until the resolve completes
PeerNameRecordCollection results = resolver.Resolve(peerName);
// Display the data returned by the resolve operation
Console.WriteLine("Resolve operation complete.\n", peerName);
Console.WriteLine("Results for PeerName: {0}", peerName);
Console.WriteLine();
int count = 1;
foreach (PeerNameRecord record in results)
{
Console.WriteLine("Record #{0} results...", count);
Console.Write("Comment:");
if (record.Comment != null)
{
Console.Write(record.Comment);
}
Console.WriteLine();
Console.Write("Data:");
if (record.Data != null)
{
// Assumes the data blob associated with the PeerName
// is made up of ASCII characters
Console.Write(System.Text.Encoding.ASCII.GetString(record.Data));
}
Console.WriteLine();
Console.WriteLine("Endpoints:");
foreach (IPEndPoint endpoint in record.EndPointCollection)
{
Console.WriteLine("\t Endpoint:{0}", endpoint);
Console.WriteLine();
}
count++;
}
Console.ReadKey();
}
catch (Exception e)
{
Console.WriteLine("Error occurred while attempting to resolve the PeerName: {0}", e.Message);
Console.WriteLine(e.StackTrace);
// P2P is not supported on Windows Server 2003
if (e.InnerException != null)
{
Console.WriteLine("Inner Exception is {0}", e.InnerException);
}
}
}
Comentários
Esse método associa um nome de par às nuvens. Todas as nuvens são consultadas para o PeerName. Se o nome do par não puder ser resolvido ou for null
, um PeerToPeerException será gerado.
Para nomes de pares não seguros, o mesmo nome pode ser registrado (e associado a pontos de extremidade diferentes) por pares diferentes na mesma nuvem.
Chamar o PeerNameResolver método é semelhante a chamar o Resolve método para cada registro de nome de par no PeerNameRecordCollection. Observe que o uso do método Resolve em um registro de nome de par individual não invalida a resolução de vários nomes de pares.
Para cada Resolve método, há um método equivalente ResolveAsync . Suas listas de parâmetros são idênticas, exceto que o método ResolveAsync inclui um token do sistema para manipulação de eventos assíncronos.
Se o Cloud parâmetro não for fornecido, o método usará o Available atalho para preencher parâmetros de nuvem.
O ResolveCompleted evento será gerado se a operação resolve for concluída por erro ou for cancelada.
Confira também
Aplica-se a
Resolve(PeerName, Int32)
Resolve o nome do par especificado em todas as nuvens conhecidas para o par de chamada, retornando não mais do que o número especificado de objetos PeerNameRecord.
public:
System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName, int maxRecords);
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve (System.Net.PeerToPeer.PeerName peerName, int maxRecords);
member this.Resolve : System.Net.PeerToPeer.PeerName * int -> System.Net.PeerToPeer.PeerNameRecordCollection
Public Function Resolve (peerName As PeerName, maxRecords As Integer) As PeerNameRecordCollection
Parâmetros
- maxRecords
- Int32
O número máximo de objetos PeerNameRecord a ser obtido de todos os objetos Cloud para o peerName
fornecido.
Retornos
Uma PeerNameRecordCollection cujo tamanho é menor ou igual a entradas maxRecords
. Esta coleção contém registros de nome de par associados ao PeerName que foi resolvido.
Exceções
O parâmetro peerName
é definido como null
.
O parâmetro maxRecords
é menor ou igual a zero.
O nome do par fornecido não pode ser resolvido.
Comentários
Esse método associa um nome de par às nuvens. Todas as nuvens são consultadas para o nome do par. Para nomes de pares não seguros, o mesmo nome de par pode ser registrado por diferentes usuários no mesmo Cloude associado a pontos de extremidade diferentes. Se o PeerName não puder ser resolvido (por exemplo, o nome do par não for publicado), um PeerToPeerException será gerado.
Para cada Resolve método, há um método equivalente ResolveAsync . Suas listas de parâmetros são idênticas, exceto que o método ResolveAsync inclui um token do sistema para manipulação de eventos assíncronos.
O ResolveCompleted evento será gerado se a operação resolve for concluída por erro ou for cancelada.
Aplica-se a
Resolve(PeerName, Cloud)
public:
System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName, System::Net::PeerToPeer::Cloud ^ cloud);
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve (System.Net.PeerToPeer.PeerName peerName, System.Net.PeerToPeer.Cloud cloud);
member this.Resolve : System.Net.PeerToPeer.PeerName * System.Net.PeerToPeer.Cloud -> System.Net.PeerToPeer.PeerNameRecordCollection
Public Function Resolve (peerName As PeerName, cloud As Cloud) As PeerNameRecordCollection
Parâmetros
Retornos
PeerNameRecordCollection que contém todos os registros de nomes de par (representados como objetos PeerNameRecord) associados ao nome de par especificado. Para nomes de par não seguros, o mesmo PeerName pode ser registrado por usuários diferentes na mesma Cloud e associado a diferentes pontos de extremidade.
Exceções
O parâmetro peerName
é definido como null
.
O nome do par fornecido não pode ser resolvido.
Comentários
Se o PeerName não puder ser resolvido (ou seja, o nome do par não for publicado), um PeerToPeerException será gerado.
Para nomes de pares não seguros, o mesmo nome pode ser registrado (e associado a pontos de extremidade diferentes) por pares diferentes na mesma nuvem.
Para cada Resolve método, há um método equivalente ResolveAsync . Suas listas de parâmetros são idênticas, exceto que o método ResolveAsync inclui um token do sistema para manipulação de eventos assíncronos.
Se o Cloud parâmetro for null
, o PeerNameResolver usará o Available atalho para preencher , NameScopee ScopeId.
O ResolveCompleted evento será gerado se a operação resolve for concluída por erro ou for cancelada.
Aplica-se a
Resolve(PeerName, Cloud, Int32)
Resolve o PeerName especificado na Cloud especificada, retornando não mais do que o número especificado de objetos PeerNameRecord.
public:
System::Net::PeerToPeer::PeerNameRecordCollection ^ Resolve(System::Net::PeerToPeer::PeerName ^ peerName, System::Net::PeerToPeer::Cloud ^ cloud, int maxRecords);
[System.Security.SecurityCritical]
public System.Net.PeerToPeer.PeerNameRecordCollection Resolve (System.Net.PeerToPeer.PeerName peerName, System.Net.PeerToPeer.Cloud cloud, int maxRecords);
[<System.Security.SecurityCritical>]
member this.Resolve : System.Net.PeerToPeer.PeerName * System.Net.PeerToPeer.Cloud * int -> System.Net.PeerToPeer.PeerNameRecordCollection
Public Function Resolve (peerName As PeerName, cloud As Cloud, maxRecords As Integer) As PeerNameRecordCollection
Parâmetros
- maxRecords
- Int32
O número máximo de objetos de registro de nomes de par a ser obtido na nuvem especificada para o peerName
especificado.
Retornos
Uma PeerNameRecordCollection cujo tamanho é menor ou igual a entradas maxRecords
. Esta coleção contém registros de nome de par associados ao PeerName que foi resolvido.
- Atributos
Exceções
O parâmetro peerName
é definido como null
.
O parâmetro maxRecords
é menor ou igual a zero.
O nome do par fornecido não pode ser resolvido.
Comentários
Para nomes de pares não seguros, o mesmo nome pode ser registrado (e associado a pontos de extremidade diferentes) por pares diferentes na mesma nuvem. Se o nome do par não puder ser resolvido, um PeerToPeerException será gerado.
Para cada Resolve método, há um método equivalente ResolveAsync . Suas listas de parâmetros são idênticas, exceto que o método ResolveAsync inclui um token do sistema para manipulação de eventos assíncronos.
Se o Cloud parâmetro for null
, o PeerNameResolver usará o Available atalho para preencher , NameScopee ScopeId.
O ResolveCompleted evento será gerado se a operação resolve for concluída por erro ou for cancelada.