PeerNameResolver.Resolve Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Resolve um PeerName objeto em a PeerNameRecord usando o protocolo PNRP.
Sobrecargas
| Name | Description |
|---|---|
| Resolve(PeerName) |
Resolve o especificado PeerName em todas as nuvens conhecidas pelo par chamador. |
| Resolve(PeerName, Int32) |
Resolve o nome do par especificado em todas as nuvens conhecidas pelo par chamador, retornando no máximo o número especificado de PeerNameRecord objetos. |
| Resolve(PeerName, Cloud) | |
| Resolve(PeerName, Cloud, Int32) |
Resolve o especificado PeerName no especificado Cloud, retornando no máximo o número especificado de PeerNameRecord objetos. |
Observações
Este método associa nomes de pares às clouds. Chamar o PeerNameResolver método é semelhante a chamar o Resolve método para cada registo de nome de pares no PeerNameRecordCollection. Note que usar o método Resolve num registo individual de nome de pares não invalida a resolução de múltiplos nomes de pares.
Para cada Resolve método, existe um método equivalente ResolveAsync . São idênticos nos parâmetros que são passados, exceto que o método ResolveAsync inclui um token de sistema na sua lista de parâmetros para o tratamento assíncrono de eventos.
Se o Cloud parâmetro não for fornecido, o método usa o Available atalho para preencher os parâmetros da nuvem. Se o maxRecords parâmetro estiver em falta, o valor padrão zero provoca que seja lançada uma ArgumentOutOfRangeException exceção.
Este evento também será ativado se a operação de resolução for concluída por erro ou for cancelada.
Resolve(PeerName)
Resolve o especificado PeerName em todas as nuvens conhecidas pelo par chamador.
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
Devoluções
A que contém todos os registos PeerNameRecordCollection de nome de par (representados como PeerNameRecord objetos) associados ao nome de par especificado. Para nomes de pares não seguros, o mesmo PeerName pode ser registado por diferentes utilizadores no mesmo Cloud, e associado a diferentes endpoints.
Exceções
O peerName parâmetro é definido para null.
O nome do par especificado não pode ser resolvido.
Exemplos
O seguinte exemplo de código ilustra como resolver 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);
}
}
}
Observações
Este método associa um nome de pares à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 é lançado.
Para nomes de pares não seguros, o mesmo nome pode ser registado (e associado a diferentes endpoints) por diferentes pares dentro da mesma nuvem.
Chamar o PeerNameResolver método é semelhante a chamar o Resolve método para cada registo de nome de pares no PeerNameRecordCollection. Note que usar o método Resolve num registo individual de nome de pares não invalida a resolução de múltiplos nomes de pares.
Para cada Resolve método, existe um método equivalente ResolveAsync . As suas listas de parâmetros são idênticas, exceto que o método ResolveAsync inclui um token de sistema para o tratamento assíncrono de eventos.
Se o Cloud parâmetro não for fornecido, o método usa o Available atalho para preencher os parâmetros da nuvem.
O ResolveCompleted evento será ativado se a operação de resolução for concluída por erro ou cancelada.
Ver também
Aplica-se a
Resolve(PeerName, Int32)
Resolve o nome do par especificado em todas as nuvens conhecidas pelo par chamador, retornando no máximo o número especificado de PeerNameRecord objetos.
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 PeerNameRecord objetos a obter de todos Cloud os objetos para o fornecido peerName.
Devoluções
A cujo PeerNameRecordCollection tamanho é menor ou igual às maxRecords entradas. Esta coleção contém registos de nomes de pares associados ao PeerName que foi resolvido.
Exceções
O peerName parâmetro é definido para null.
O maxRecords parâmetro é menor ou igual a zero.
O nome do par fornecido não pode ser resolvido.
Observações
Este método associa um nome de pares às nuvens. Todas as nuvens são consultadas para obter o nome do par. Para nomes de pares não seguros, o mesmo nome de pares pode ser registado por diferentes utilizadores no mesmo Cloud, e associado a diferentes endpoints. Se o PeerName não puder ser resolvido (por exemplo, o nome do par não for publicado) um PeerToPeerException é lançado.
Para cada Resolve método, existe um método equivalente ResolveAsync . As suas listas de parâmetros são idênticas, exceto que o método ResolveAsync inclui um token de sistema para o tratamento assíncrono de eventos.
O ResolveCompleted evento será ativado se a operação de resolução for concluída por erro ou 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
Devoluções
PeerNameRecordCollection que contém todos os registos de nome de pares (representados como PeerNameRecord objetos) associados ao nome de par especificado. Para nomes de pares não seguros, o mesmo PeerName pode ser registado por diferentes utilizadores no mesmo Cloud, e associado a diferentes endpoints.
Exceções
O peerName parâmetro é definido para null.
O nome do par fornecido não pode ser resolvido.
Observações
Se o PeerName não puder ser resolvido (ou seja, o nome do par não for publicado), um PeerToPeerException é lançado.
Para nomes de pares não seguros, o mesmo nome pode ser registado (e associado a diferentes endpoints) por diferentes pares dentro da mesma nuvem.
Para cada Resolve método, existe um método equivalente ResolveAsync . As suas listas de parâmetros são idênticas, exceto que o método ResolveAsync inclui um token de sistema para o tratamento assíncrono de eventos.
Se o parâmetro for Cloud, o null usa o PeerNameResolver atalho para preencher , AvailableName, e Scope.ScopeId
O ResolveCompleted evento será ativado se a operação de resolução for concluída por erro ou cancelada.
Aplica-se a
Resolve(PeerName, Cloud, Int32)
Resolve o especificado PeerName no especificado Cloud, retornando no máximo o número especificado de PeerNameRecord objetos.
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 registo de nome de pares a obter da nuvem especificada para o .peerName
Devoluções
A cujo PeerNameRecordCollection tamanho é menor ou igual às maxRecords entradas. Esta coleção contém registos de nomes de pares associados ao PeerName que foi resolvido.
- Atributos
Exceções
O peerName parâmetro é definido para null.
O maxRecords parâmetro é menor ou igual a zero.
O nome do par fornecido não pode ser resolvido.
Observações
Para nomes de pares não seguros, o mesmo nome pode ser registado (e associado a diferentes endpoints) por diferentes pares dentro da mesma nuvem. Se o nome do par não puder ser resolvido, um PeerToPeerException é lançado.
Para cada Resolve método, existe um método equivalente ResolveAsync . As suas listas de parâmetros são idênticas, exceto que o método ResolveAsync inclui um token de sistema para o tratamento assíncrono de eventos.
Se o parâmetro for Cloud, o null usa o PeerNameResolver atalho para preencher , AvailableName, e Scope.ScopeId
O ResolveCompleted evento será ativado se a operação de resolução for concluída por erro ou cancelada.