Partager via


PeerNameResolver.Resolve Méthode

Définition

Résout un objet PeerName en un PeerNameRecord à l'aide du protocole PNRP.

Surcharges

Resolve(PeerName)

Résout le PeerName spécifié dans tous les nuages connus de l'homologue appelant.

Resolve(PeerName, Int32)

Résout le nom d'homologue spécifié dans tous les nuages connus de l'homologue appelant, sans retourner plus que le nombre spécifié d'objets PeerNameRecord.

Resolve(PeerName, Cloud)

Résout le PeerName spécifié dans le Cloudspécifié.

Resolve(PeerName, Cloud, Int32)

Résout le PeerName spécifié dans le Cloudspécifié, sans retourner plus que le nombre spécifié d'objets PeerNameRecord.

Remarques

Cette méthode associe des noms d’homologues aux clouds. L’appel de la PeerNameResolver méthode est similaire à l’appel de la Resolve méthode pour chaque enregistrement de nom d’homologue dans .PeerNameRecordCollection Notez que l’utilisation de la méthode Resolve sur un enregistrement de nom d’homologue individuel n’invalide pas la résolution de plusieurs noms d’homologues.

Pour chaque Resolve méthode, il existe une méthode équivalente ResolveAsync . Ils sont identiques dans les paramètres qu’ils sont passés, sauf que la méthode ResolveAsync inclut un jeton système dans sa liste de paramètres pour la gestion asynchrone des événements.

Si le Cloud paramètre n’est pas fourni, la méthode utilise le Available raccourci pour renseigner les paramètres cloud. Si le maxRecords paramètre est manquant, la valeur par défaut zéro entraîne la levée d’une ArgumentOutOfRangeException exception.

Cet événement est également déclenché si l’opération de résolution se termine par erreur ou est annulée.

Resolve(PeerName)

Résout le PeerName spécifié dans tous les nuages connus de l'homologue appelant.

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

Paramètres

peerName
PeerName

Le PeerName à résoudre.

Retours

Un PeerNameRecordCollection qui contient tous les enregistrements de nom de l'homologue (représentés comme objets PeerNameRecord ) associés au nom d'homologue spécifié. Pour les noms d'homologue non sécurisés, le même PeerName peut être inscrit par des utilisateurs différents dans le même Cloud, et associés à des points de terminaison différents.

Exceptions

Le paramètre peerName a la valeur null.

Le nom d'homologue spécifié ne peut pas être résolu.

Exemples

L’exemple de code suivant montre comment résoudre un PeerName publié dans n’importe quel 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);
        }
    }
}

Remarques

Cette méthode associe un nom d’homologue aux clouds. Tous les clouds sont interrogés pour .PeerName Si le nom de l’homologue ne peut pas être résolu ou est null, un PeerToPeerException est levée.

Pour les noms d’homologues non sécurisés, le même nom peut être inscrit (et associé à différents points de terminaison) par différents homologues au sein du même cloud.

L’appel de la PeerNameResolver méthode est similaire à l’appel de la Resolve méthode pour chaque enregistrement de nom d’homologue dans .PeerNameRecordCollection Notez que l’utilisation de la méthode Resolve sur un enregistrement de nom d’homologue individuel n’invalide pas la résolution de plusieurs noms d’homologues.

Pour chaque Resolve méthode, il existe une méthode équivalente ResolveAsync . Leurs listes de paramètres sont identiques, sauf que la méthode ResolveAsync inclut un jeton système pour la gestion asynchrone des événements.

Si le Cloud paramètre n’est pas fourni, la méthode utilise le Available raccourci pour renseigner les paramètres cloud.

L’événement ResolveCompleted est déclenché si l’opération de résolution se termine par erreur ou est annulée.

Voir aussi

S’applique à

Resolve(PeerName, Int32)

Résout le nom d'homologue spécifié dans tous les nuages connus de l'homologue appelant, sans retourner plus que le nombre spécifié d'objets 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

Paramètres

peerName
PeerName

Le PeerName à résoudre.

maxRecords
Int32

Nombre maximal d'objets PeerNameRecord à obtenir de tous les objets Cloud pour le peerName fourni.

Retours

PeerNameRecordCollection dont la taille est inférieure ou égale aux entrées maxRecords. Cette collection contient des enregistrements de nom d'homologue associés au PeerName qui a été résolu.

Exceptions

Le paramètre peerName a la valeur null.

Le paramètre maxRecords est inférieur ou égal à zéro.

Le nom d'homologue fourni ne peut pas être résolu.

Remarques

Cette méthode associe un nom d’homologue aux clouds. Tous les clouds sont interrogés pour le nom de l’homologue. Pour les noms d’homologues non sécurisés, le même nom d’homologue peut être inscrit par différents utilisateurs dans le même Cloud, et associé à des points de terminaison différents. Si le PeerName ne peut pas être résolu (par exemple, le nom de l’homologue n’est pas publié), un PeerToPeerException est levée.

Pour chaque Resolve méthode, il existe une méthode équivalente ResolveAsync . Leurs listes de paramètres sont identiques, sauf que la méthode ResolveAsync inclut un jeton système pour la gestion asynchrone des événements.

L’événement ResolveCompleted est déclenché si l’opération de résolution se termine par erreur ou est annulée.

S’applique à

Resolve(PeerName, Cloud)

Résout le PeerName spécifié dans le Cloudspécifié.

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

Paramètres

peerName
PeerName

Le PeerName à résoudre.

cloud
Cloud

Cloud dans lequel résoudre le nom d'homologue.

Retours

PeerNameRecordCollection qui contient tous les enregistrements de nom d'homologue (représentés comme objets PeerNameRecord ) associés au nom d'homologue spécifié. Pour les noms d'homologue non sécurisés, le même PeerName peut être inscrit par des utilisateurs différents dans le même Cloud, et associés à des points de terminaison différents.

Exceptions

Le paramètre peerName a la valeur null.

Le nom d'homologue fourni ne peut pas être résolu.

Remarques

Si le PeerName ne peut pas être résolu (autrement dit, le nom de l’homologue n’est pas publié), un PeerToPeerException est levée.

Pour les noms d’homologues non sécurisés, le même nom peut être inscrit (et associé à différents points de terminaison) par différents homologues au sein du même cloud.

Pour chaque Resolve méthode, il existe une méthode équivalente ResolveAsync . Leurs listes de paramètres sont identiques, sauf que la méthode ResolveAsync inclut un jeton système pour la gestion asynchrone des événements.

Si le Cloud paramètre est null, utilise PeerNameResolver le Available raccourci pour remplir les Name, Scopeet ScopeId.

L’événement ResolveCompleted est déclenché si l’opération de résolution se termine par erreur ou est annulée.

S’applique à

Resolve(PeerName, Cloud, Int32)

Résout le PeerName spécifié dans le Cloudspécifié, sans retourner plus que le nombre spécifié d'objets 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

Paramètres

peerName
PeerName

Le PeerName à résoudre.

cloud
Cloud

Cloud dans lequel de résoudre le peerName.

maxRecords
Int32

Nombre maximal d'objets d'enregistrement de nom d'homologue à obtenir du nuage spécifié pour le peerNamespécifié.

Retours

PeerNameRecordCollection dont la taille est inférieure ou égale aux entrées maxRecords. Cette collection contient des enregistrements de nom d'homologue associés au PeerName qui a été résolu.

Attributs

Exceptions

Le paramètre peerName a la valeur null.

Le paramètre maxRecords est inférieur ou égal à zéro.

Le nom d'homologue fourni ne peut pas être résolu.

Remarques

Pour les noms d’homologues non sécurisés, le même nom peut être inscrit (et associé à différents points de terminaison) par différents homologues au sein du même cloud. Si le nom de l’homologue ne peut pas être résolu, un PeerToPeerException est levée.

Pour chaque Resolve méthode, il existe une méthode équivalente ResolveAsync . Leurs listes de paramètres sont identiques, sauf que la méthode ResolveAsync inclut un jeton système pour la gestion asynchrone des événements.

Si le Cloud paramètre est null, utilise PeerNameResolver le Available raccourci pour remplir les Name, Scopeet ScopeId.

L’événement ResolveCompleted est déclenché si l’opération de résolution se termine par erreur ou est annulée.

S’applique à