PeerNameResolver.Resolve Método

Definição

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 o especificado PeerName no especificado 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

peerName
PeerName

O PeerName para resolver.

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

peerName
PeerName

O PeerName para resolver.

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)

Resolve o especificado PeerName no especificado 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

peerName
PeerName

O PeerName para resolver.

cloud
Cloud

O Cloud momento em que resolver o nome do par.

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

peerName
PeerName

O PeerName para resolver.

cloud
Cloud

O Cloud em que resolver o peerName.

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.

Aplica-se a