Compartilhar via


PeerNameResolver.Resolve Método

Definição

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 o PeerName especificado na Cloud especificada.

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

peerName
PeerName

O PeerName a ser resolvido.

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

peerName
PeerName

O PeerName a ser resolvido.

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)

Resolve o PeerName especificado na Cloud especificada.

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 a ser resolvido.

cloud
Cloud

A Cloud na qual resolver o nome do par.

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

peerName
PeerName

O PeerName a ser resolvido.

cloud
Cloud

A Cloud na qual resolver o peerName.

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.

Aplica-se a