PeerNameResolver.Resolve Methode

Definitie

Hiermee wordt een PeerName object omgezet in een PeerNameRecord met behulp van het PNRP-protocol.

Overloads

Name Description
Resolve(PeerName)

Lost de opgegeven PeerName in alle clouds op die bekend zijn bij de aanroepende peer.

Resolve(PeerName, Int32)

Lost de opgegeven peernaam op in alle clouds die bekend zijn bij de aanroepende peer, en retourneert niet meer dan het opgegeven aantal PeerNameRecord objecten.

Resolve(PeerName, Cloud)

Lost de opgegeven PeerName waarde op in de opgegeven Cloud.

Resolve(PeerName, Cloud, Int32)

Hiermee wordt de opgegeven PeerName waarde in de opgegeven Cloudoplossing opgelost die niet meer dan het opgegeven aantal PeerNameRecord objecten retourneert.

Opmerkingen

Met deze methode worden peernamen aan clouds gekoppeld. Het aanroepen van de PeerNameResolver methode is vergelijkbaar met het aanroepen van de Resolve methode voor elke peernaamrecord in de PeerNameRecordCollection. Houd er rekening mee dat het omzetten van meerdere peernamen door het gebruik van de methode Resolve op een afzonderlijke peernaamrecord niet ongeldig wordt.

Voor elke Resolve methode is er een equivalente ResolveAsync methode. Ze zijn identiek in de parameters die ze worden doorgegeven, behalve dat de methode ResolveAsync een systeemtoken bevat in de parameterlijst voor asynchrone gebeurtenisafhandeling.

Als de Cloud parameter niet is opgegeven, gebruikt de methode de Available snelkoppeling om cloudparameters in te vullen. Als de maxRecords parameter ontbreekt, zorgt de standaardwaarde van nul ervoor dat er een ArgumentOutOfRangeException uitzondering wordt gegenereerd.

Deze gebeurtenis wordt ook gegenereerd als de oplossingsbewerking in een fout is voltooid of wordt geannuleerd.

Resolve(PeerName)

Lost de opgegeven PeerName in alle clouds op die bekend zijn bij de aanroepende peer.

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

Parameters

peerName
PeerName

De PeerName oplossing.

Retouren

Een PeerNameRecordCollection die alle peernaamrecords (vertegenwoordigd als PeerNameRecord objecten) bevat die zijn gekoppeld aan de opgegeven peernaam. Voor niet-beveiligde peernamen kan hetzelfde PeerName worden geregistreerd door verschillende gebruikers in hetzelfde Clouden gekoppeld aan verschillende eindpunten.

Uitzonderingen

De peerName parameter is ingesteld op null.

De opgegeven peernaam kan niet worden omgezet.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u een PeerName gepubliceerde code kunt oplossen.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);
        }
    }
}

Opmerkingen

Met deze methode wordt een peernaam aan clouds gekoppeld. Alle clouds worden opgevraagd voor de PeerName. Als de peernaam niet kan worden omgezet of is null, wordt er een PeerToPeerException gegenereerd.

Voor niet-beveiligde peernamen kan dezelfde naam worden geregistreerd (en gekoppeld aan verschillende eindpunten) door verschillende peers in dezelfde cloud.

Het aanroepen van de PeerNameResolver methode is vergelijkbaar met het aanroepen van de Resolve methode voor elke peernaamrecord in de PeerNameRecordCollection. Houd er rekening mee dat het omzetten van meerdere peernamen door het gebruik van de methode Resolve op een afzonderlijke peernaamrecord niet ongeldig wordt.

Voor elke Resolve methode is er een equivalente ResolveAsync methode. De parameterlijsten zijn identiek, behalve dat de methode ResolveAsync een systeemtoken bevat voor asynchrone gebeurtenisafhandeling.

Als de Cloud parameter niet is opgegeven, gebruikt de methode de Available snelkoppeling om cloudparameters in te vullen.

De ResolveCompleted gebeurtenis wordt gegenereerd als de oplossingsbewerking in een fout is voltooid of wordt geannuleerd.

Zie ook

Van toepassing op

Resolve(PeerName, Int32)

Lost de opgegeven peernaam op in alle clouds die bekend zijn bij de aanroepende peer, en retourneert niet meer dan het opgegeven aantal PeerNameRecord objecten.

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

Parameters

peerName
PeerName

De PeerName oplossing.

maxRecords
Int32

Het maximum aantal PeerNameRecord objecten dat moet worden verkregen van alle Cloud objecten voor de opgegeven peerNameobjecten.

Retouren

Een PeerNameRecordCollection waarvan de grootte kleiner is dan of gelijk is aan maxRecords items. Deze verzameling bevat peernaamrecords die zijn gekoppeld aan de PeerName records die zijn opgelost.

Uitzonderingen

De peerName parameter is ingesteld op null.

De maxRecords parameter is kleiner dan of gelijk aan nul.

De opgegeven peernaam kan niet worden omgezet.

Opmerkingen

Met deze methode wordt een peernaam aan clouds gekoppeld. Alle clouds worden opgevraagd voor de peernaam. Voor niet-beveiligde peernamen kan dezelfde peernaam worden geregistreerd door verschillende gebruikers in hetzelfde Clouden gekoppeld aan verschillende eindpunten. Als de naam van de PeerName peer niet kan worden omgezet (bijvoorbeeld de peernaam is niet gepubliceerd) wordt er een PeerToPeerException gegenereerd.

Voor elke Resolve methode is er een equivalente ResolveAsync methode. De parameterlijsten zijn identiek, behalve dat de methode ResolveAsync een systeemtoken bevat voor asynchrone gebeurtenisafhandeling.

De ResolveCompleted gebeurtenis wordt gegenereerd als de oplossingsbewerking in een fout is voltooid of wordt geannuleerd.

Van toepassing op

Resolve(PeerName, Cloud)

Lost de opgegeven PeerName waarde op in de opgegeven 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

Parameters

peerName
PeerName

De PeerName oplossing.

cloud
Cloud

De Cloud naam van de peer oplossen.

Retouren

PeerNameRecordCollection die alle peernaamrecords (vertegenwoordigd als PeerNameRecord objecten) bevat die zijn gekoppeld aan de opgegeven peernaam. Voor niet-beveiligde peernamen kan hetzelfde PeerName worden geregistreerd door verschillende gebruikers in hetzelfde Clouden gekoppeld aan verschillende eindpunten.

Uitzonderingen

De peerName parameter is ingesteld op null.

De opgegeven peernaam kan niet worden omgezet.

Opmerkingen

Als de naam van de PeerName peer niet kan worden omgezet (dat wil gezegd, wordt de peernaam niet gepubliceerd) wordt er een PeerToPeerException gegenereerd.

Voor niet-beveiligde peernamen kan dezelfde naam worden geregistreerd (en gekoppeld aan verschillende eindpunten) door verschillende peers in dezelfde cloud.

Voor elke Resolve methode is er een equivalente ResolveAsync methode. De parameterlijsten zijn identiek, behalve dat de methode ResolveAsync een systeemtoken bevat voor asynchrone gebeurtenisafhandeling.

Als de Cloud parameter is null, gebruikt de PeerNameResolver snelkoppeling om de AvailableName, Scopeen ScopeId.

De ResolveCompleted gebeurtenis wordt gegenereerd als de oplossingsbewerking in een fout is voltooid of wordt geannuleerd.

Van toepassing op

Resolve(PeerName, Cloud, Int32)

Hiermee wordt de opgegeven PeerName waarde in de opgegeven Cloudoplossing opgelost die niet meer dan het opgegeven aantal PeerNameRecord objecten retourneert.

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

Parameters

peerName
PeerName

De PeerName oplossing.

cloud
Cloud

De Cloud oplossing van de peerName.

maxRecords
Int32

Het maximum aantal peernaamrecordobjecten dat moet worden opgehaald uit de opgegeven cloud voor de opgegeven peerName.

Retouren

Een PeerNameRecordCollection waarvan de grootte kleiner is dan of gelijk is aan maxRecords items. Deze verzameling bevat peernaamrecords die zijn gekoppeld aan de PeerName records die zijn opgelost.

Kenmerken

Uitzonderingen

De peerName parameter is ingesteld op null.

De maxRecords parameter is kleiner dan of gelijk aan nul.

De opgegeven peernaam kan niet worden omgezet.

Opmerkingen

Voor niet-beveiligde peernamen kan dezelfde naam worden geregistreerd (en gekoppeld aan verschillende eindpunten) door verschillende peers in dezelfde cloud. Als de peernaam niet kan worden omgezet, wordt er een PeerToPeerException gegenereerd.

Voor elke Resolve methode is er een equivalente ResolveAsync methode. De parameterlijsten zijn identiek, behalve dat de methode ResolveAsync een systeemtoken bevat voor asynchrone gebeurtenisafhandeling.

Als de Cloud parameter is null, gebruikt de PeerNameResolver snelkoppeling om de AvailableName, Scopeen ScopeId.

De ResolveCompleted gebeurtenis wordt gegenereerd als de oplossingsbewerking in een fout is voltooid of wordt geannuleerd.

Van toepassing op