PeerNameResolver.Resolve Methode

Definition

Löst ein PeerName Objekt mit dem PNRP-Protokoll auf PeerNameRecord .

Überlädt

Name Beschreibung
Resolve(PeerName)

Löst den angegebenen PeerName Wert in allen Clouds auf, die dem aufrufenden Peer bekannt sind.

Resolve(PeerName, Int32)

Löst den angegebenen Peernamen in allen Clouds auf, die dem aufrufenden Peer bekannt sind, und gibt nicht mehr als die angegebene Anzahl von PeerNameRecord Objekten zurück.

Resolve(PeerName, Cloud)

Löst das angegebene PeerName in der angegebenen Cloud.

Resolve(PeerName, Cloud, Int32)

Löst das angegebene PeerNameCloudObjekt auf, das nicht mehr als die angegebene Anzahl von PeerNameRecord Objekten zurückgibt.

Hinweise

Diese Methode ordnet Peernamen Clouds zu. Das Aufrufen der Methode ähnelt dem Aufrufen der PeerNameResolverResolve Methode für jeden Peernamendatensatz in der PeerNameRecordCollection. Beachten Sie, dass die Verwendung der Resolve-Methode für einen einzelnen Peernamendatensatz das Auflösen mehrerer Peernamen nicht ungültig macht.

Für jede Resolve Methode gibt es eine entsprechende ResolveAsync Methode. Sie sind in den übergebenen Parametern identisch, mit der Ausnahme, dass die ResolveAsync-Methode ein Systemtoken in der Parameterliste für die asynchrone Ereignisbehandlung enthält.

Wenn der Cloud Parameter nicht angegeben wird, verwendet die Methode die Available Verknüpfung zum Ausfüllen von Cloudparametern. Wenn der maxRecords Parameter fehlt, bewirkt der Standardwert null, dass eine ArgumentOutOfRangeException Ausnahme ausgelöst wird.

Dieses Ereignis wird auch ausgelöst, wenn der Auflösungsvorgang im Fehler abgeschlossen oder abgebrochen wird.

Resolve(PeerName)

Löst den angegebenen PeerName Wert in allen Clouds auf, die dem aufrufenden Peer bekannt sind.

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

Parameter

peerName
PeerName

The PeerName to resolve.

Gibt zurück

A PeerNameRecordCollection that contains all peer name records (represented as PeerNameRecord objects), associated with the specified peer name. Bei nicht sicheren Peernamen kann dasselbe PeerName von verschiedenen Benutzern in demselben Cloudregistriert und verschiedenen Endpunkten zugeordnet werden.

Ausnahmen

Der peerName-Parameter ist auf null festgelegt.

Der angegebene Peername kann nicht aufgelöst werden.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie ein veröffentlichtes Objekt in einer PeerName beliebigen CloudDatei aufgelöst wird.

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

Hinweise

Diese Methode ordnet einen Peernamen clouds zu. Alle Clouds werden für die PeerNameAbgefragt. Wenn der Peername nicht aufgelöst werden kann oder ist null, wird ein PeerToPeerException Fehler ausgelöst.

Bei ungesicherten Peernamen kann derselbe Name von verschiedenen Peers in derselben Cloud registriert (und verschiedenen Endpunkten zugeordnet werden).

Das Aufrufen der Methode ähnelt dem Aufrufen der PeerNameResolverResolve Methode für jeden Peernamendatensatz in der PeerNameRecordCollection. Beachten Sie, dass die Verwendung der Resolve-Methode für einen einzelnen Peernamendatensatz das Auflösen mehrerer Peernamen nicht ungültig macht.

Für jede Resolve Methode gibt es eine entsprechende ResolveAsync Methode. Ihre Parameterlisten sind identisch, mit der Ausnahme, dass die ResolveAsync-Methode ein Systemtoken für die asynchrone Ereignisbehandlung enthält.

Wenn der Cloud Parameter nicht angegeben wird, verwendet die Methode die Available Verknüpfung zum Ausfüllen von Cloudparametern.

Das ResolveCompleted Ereignis wird ausgelöst, wenn der Auflösungsvorgang im Fehler abgeschlossen oder abgebrochen wird.

Weitere Informationen

Gilt für:

Resolve(PeerName, Int32)

Löst den angegebenen Peernamen in allen Clouds auf, die dem aufrufenden Peer bekannt sind, und gibt nicht mehr als die angegebene Anzahl von PeerNameRecord Objekten zurück.

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

Parameter

peerName
PeerName

The PeerName to resolve.

maxRecords
Int32

Die maximale Anzahl von PeerNameRecord Objekten, die von allen Cloud Objekten für das angegebene Objekt peerNameabgerufen werden sollen.

Gibt zurück

A PeerNameRecordCollection , dessen Größe kleiner oder gleich maxRecords Einträgen ist. Diese Auflistung enthält Peernameneinträge, die dem PeerName aufgelösten Element zugeordnet sind.

Ausnahmen

Der peerName-Parameter ist auf null festgelegt.

Der maxRecords Parameter ist kleiner oder gleich Null.

Der angegebene Peername kann nicht aufgelöst werden.

Hinweise

Diese Methode ordnet einen Peernamen clouds zu. Alle Clouds werden für den Peernamen abgefragt. Bei nicht sicheren Peernamen kann derselbe Peername von verschiedenen Benutzern in demselben Cloudregistriert und den verschiedenen Endpunkten zugeordnet werden. Wenn das PeerName Problem nicht aufgelöst werden kann (z. B. wird der Peername nicht veröffentlicht), wird ein PeerToPeerException Fehler ausgelöst.

Für jede Resolve Methode gibt es eine entsprechende ResolveAsync Methode. Ihre Parameterlisten sind identisch, mit der Ausnahme, dass die ResolveAsync-Methode ein Systemtoken für die asynchrone Ereignisbehandlung enthält.

Das ResolveCompleted Ereignis wird ausgelöst, wenn der Auflösungsvorgang im Fehler abgeschlossen oder abgebrochen wird.

Gilt für:

Resolve(PeerName, Cloud)

Löst das angegebene PeerName in der angegebenen 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

Parameter

peerName
PeerName

The PeerName to resolve.

cloud
Cloud

Die Cloud , in der der Peername aufgelöst werden soll.

Gibt zurück

PeerNameRecordCollection enthält alle Peernameneinträge (dargestellt als PeerNameRecord Objekte), die dem angegebenen Peernamen zugeordnet sind. Bei nicht sicheren Peernamen kann dasselbe PeerName von verschiedenen Benutzern in demselben Cloudregistriert und verschiedenen Endpunkten zugeordnet werden.

Ausnahmen

Der peerName-Parameter ist auf null festgelegt.

Der angegebene Peername kann nicht aufgelöst werden.

Hinweise

Wenn das PeerName Problem nicht aufgelöst werden kann (d. h. der Peername wird nicht veröffentlicht), wird ein PeerToPeerException Fehler ausgelöst.

Bei ungesicherten Peernamen kann derselbe Name von verschiedenen Peers in derselben Cloud registriert (und verschiedenen Endpunkten zugeordnet werden).

Für jede Resolve Methode gibt es eine entsprechende ResolveAsync Methode. Ihre Parameterlisten sind identisch, mit der Ausnahme, dass die ResolveAsync-Methode ein Systemtoken für die asynchrone Ereignisbehandlung enthält.

Wenn der Cloud Parameter lautetnull, verwendet PeerNameResolver die Available Verknüpfung zum Ausfüllen des Name, Scopeund .ScopeId

Das ResolveCompleted Ereignis wird ausgelöst, wenn der Auflösungsvorgang im Fehler abgeschlossen oder abgebrochen wird.

Gilt für:

Resolve(PeerName, Cloud, Int32)

Löst das angegebene PeerNameCloudObjekt auf, das nicht mehr als die angegebene Anzahl von PeerNameRecord Objekten zurückgibt.

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

Parameter

peerName
PeerName

The PeerName to resolve.

cloud
Cloud

Die Cloud , in der das peerNameProblem aufgelöst werden soll.

maxRecords
Int32

Die maximale Anzahl von Peernamen-Datensatzobjekten, die aus der angegebenen Cloud für die angegebene Cloud peerNameabgerufen werden sollen.

Gibt zurück

A PeerNameRecordCollection , dessen Größe kleiner oder gleich maxRecords Einträgen ist. Diese Auflistung enthält Peernameneinträge, die dem PeerName aufgelösten Element zugeordnet sind.

Attribute

Ausnahmen

Der peerName-Parameter ist auf null festgelegt.

Der maxRecords Parameter ist kleiner oder gleich Null.

Der angegebene Peername kann nicht aufgelöst werden.

Hinweise

Bei ungesicherten Peernamen kann derselbe Name von verschiedenen Peers in derselben Cloud registriert (und verschiedenen Endpunkten zugeordnet werden). Wenn der Peername nicht aufgelöst werden kann, wird ein PeerToPeerException Fehler ausgelöst.

Für jede Resolve Methode gibt es eine entsprechende ResolveAsync Methode. Ihre Parameterlisten sind identisch, mit der Ausnahme, dass die ResolveAsync-Methode ein Systemtoken für die asynchrone Ereignisbehandlung enthält.

Wenn der Cloud Parameter lautetnull, verwendet PeerNameResolver die Available Verknüpfung zum Ausfüllen des Name, Scopeund .ScopeId

Das ResolveCompleted Ereignis wird ausgelöst, wenn der Auflösungsvorgang im Fehler abgeschlossen oder abgebrochen wird.

Gilt für: