PeerNameResolver.Resolve Método

Definição

Resolve um PeerName objeto para um PeerNameRecord usando o protocolo PNRP.

Sobrecargas

Nome Description
Resolve(PeerName)

Resolve o especificado PeerName em todas as nuvens conhecidas pelo par de chamada.

Resolve(PeerName, Int32)

Resolve o nome do par especificado em todas as nuvens conhecidas pelo par de chamada, retornando não mais do que 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 não mais do que o número especificado de PeerNameRecord objetos.

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 resolução for concluída por erro ou for cancelada.

Resolve(PeerName)

Resolve o especificado PeerName em todas as nuvens conhecidas pelo 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 para resolver.

Retornos

Um PeerNameRecordCollection que contém todos os registros de nome de par (representados como PeerNameRecord objetos) associados ao nome do par especificado. Para nomes de pares não protegidos, o mesmo PeerName pode ser registrado por usuários diferentes no mesmo Cloude associado a pontos de extremidade diferentes.

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 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);
        }
    }
}

Comentários

Esse método associa um nome de par a 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 protegidos, 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 de resolução 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 pelo par de chamada, retornando não mais do que 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 serem obtidos de todos os Cloud objetos para o fornecido peerName.

Retornos

Um PeerNameRecordCollection cujo tamanho é menor ou igual a maxRecords entradas. 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 maxRecords parâmetro é 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 a nuvens. Todas as nuvens são consultadas para o nome do par. Para nomes de pares não protegidos, o mesmo nome de par pode ser registrado por usuários diferentes no mesmo Cloude associado a pontos de extremidade diferentes. Se não PeerName for possível resolver (por exemplo, o nome do par não é 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 de resolução for concluída por erro ou for 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 no qual resolver o nome do par.

Retornos

PeerNameRecordCollection que contém todos os registros de nome de par (representados como PeerNameRecord objetos) associados ao nome do par especificado. Para nomes de pares não protegidos, o mesmo PeerName pode ser registrado por usuários diferentes no mesmo Cloude associado a pontos de extremidade diferentes.

Exceções

O parâmetro peerName é definido como null.

O nome do par fornecido não pode ser resolvido.

Comentários

Se não PeerName for possível resolver (ou seja, o nome do par não será publicado) um PeerToPeerException será gerado.

Para nomes de pares não protegidos, 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 fornull, o PeerNameResolver atalho será usado Available para preencher o Namee ScopeScopeId.

O ResolveCompleted evento será gerado se a operação de resolução for concluída por erro ou for cancelada.

Aplica-se a

Resolve(PeerName, Cloud, Int32)

Resolve o especificado PeerName no especificado Cloud, retornando não mais do que 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 registro de nome de par a serem obtidos da nuvem especificada para o especificado peerName.

Retornos

Um PeerNameRecordCollection cujo tamanho é menor ou igual a maxRecords entradas. 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 maxRecords parâmetro é menor ou igual a zero.

O nome do par fornecido não pode ser resolvido.

Comentários

Para nomes de pares não protegidos, 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 fornull, o PeerNameResolver atalho será usado Available para preencher o Namee ScopeScopeId.

O ResolveCompleted evento será gerado se a operação de resolução for concluída por erro ou for cancelada.

Aplica-se a