PeerNameResolver.Resolve Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Löst ein PeerName-Objekt unter Verwendung des Protokolls PNRP in ein PeerNameRecord-Objekt auf.
Überlädt
Resolve(PeerName) |
Löst den angegebenen PeerName in allen Wolken auf, die dem aufrufenden Peer bekannt sind. |
Resolve(PeerName, Int32) |
Löst den angegebenen Peernamen in allen Wolken auf, die dem aufrufenden Peer bekannt sind, und gibt nicht mehr als die angegebene Anzahl von PeerNameRecord-Objekten zurück. |
Resolve(PeerName, Cloud) | |
Resolve(PeerName, Cloud, Int32) |
Löst den angegebenen PeerName in der angegebenen Cloud auf und gibt nicht mehr als die angegebene Anzahl von PeerNameRecord-Objekten zurück. |
Hinweise
Diese Methode ordnet Peernamen Clouds zu. Das Aufrufen der PeerNameResolver -Methode ähnelt dem Aufrufen der Resolve -Methode für jeden Peernamendatensatz im 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 ihrer Parameterliste für die asynchrone Ereignisbehandlung enthält.
Wenn der Cloud Parameter nicht angegeben wird, verwendet die -Methode die Available Verknüpfung, um Cloudparameter auszufüllen. Wenn der maxRecords
Parameter fehlt, wird mit dem Standardwert 0 (null) eine ArgumentOutOfRangeException Ausnahme ausgelöst.
Dieses Ereignis wird auch ausgelöst, wenn der Auflösungsvorgang fehlerhaft abgeschlossen oder abgebrochen wird.
Resolve(PeerName)
Löst den angegebenen PeerName in allen Wolken 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
Gibt zurück
Eine PeerNameRecordCollection, die alle Peernamensdatensätze enthält (als PeerNameRecord-Objekte dargestellt), die dem angegebenen Peernamen zugeordnet sind. Bei ungesicherten Peernamen kann der gleiche PeerName von mehreren Benutzern in derselben Cloud registriert werden und unterschiedlichen 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 PeerName in einem beliebigen Cloudveröffentlichten 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 Clouds einen Peernamen zu. Alle Clouds werden für PeerNameabgefragt. Wenn der Peername nicht aufgelöst werden kann oder lautet null
, wird ein PeerToPeerException ausgelöst.
Bei nicht gesicherten Peernamen kann derselbe Name von verschiedenen Peers in derselben Cloud registriert (und verschiedenen Endpunkten zugeordnet) werden.
Das Aufrufen der PeerNameResolver -Methode ähnelt dem Aufrufen der Resolve -Methode für jeden Peernamendatensatz im 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, um Cloudparameter auszufüllen.
Das ResolveCompleted Ereignis wird ausgelöst, wenn der Auflösungsvorgang fehlerhaft abgeschlossen oder abgebrochen wird.
Weitere Informationen
Gilt für:
Resolve(PeerName, Int32)
Löst den angegebenen Peernamen in allen Wolken 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
- maxRecords
- Int32
Die maximale Anzahl von PeerNameRecord-Objekten, die aus allen Cloud-Objekten für den angegebenen peerName
abgerufen werden können.
Gibt zurück
Eine PeerNameRecordCollection, deren Größe kleiner oder gleich der mit maxRecords
angegebenen Anzahl von Einträgen ist. Diese Auflistung enthält Peernamensdatensätze, die dem aufgelösten PeerName zugeordnet sind.
Ausnahmen
Der peerName
-Parameter ist auf null
festgelegt.
Der maxRecords
-Parameter ist kleiner oder gleich 0 (null).
Der angegebene Peername kann nicht aufgelöst werden.
Hinweise
Diese Methode ordnet Clouds einen Peernamen zu. Alle Clouds werden nach dem Peernamen abgefragt. Für ungesicherte Peernamen kann derselbe Peername von verschiedenen Benutzern in demselben Cloudregistriert und verschiedenen Endpunkten zugeordnet werden. Wenn der PeerName nicht aufgelöst werden kann (z. B. wird der Peername nicht veröffentlicht), wird eine PeerToPeerException 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 fehlerhaft abgeschlossen oder abgebrochen wird.
Gilt für:
Resolve(PeerName, 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
Gibt zurück
Eine PeerNameRecordCollection, die alle Peernamensdatensätze enthält (als PeerNameRecord-Objekte dargestellt), die dem angegebenen Peernamen zugeordnet sind. Bei ungesicherten Peernamen kann der gleiche PeerName von mehreren Benutzern in derselben Cloud registriert werden und unterschiedlichen Endpunkten zugeordnet werden.
Ausnahmen
Der peerName
-Parameter ist auf null
festgelegt.
Der angegebene Peername kann nicht aufgelöst werden.
Hinweise
Wenn der PeerName nicht aufgelöst werden kann (d. h. der Peername wird nicht veröffentlicht), wird eine PeerToPeerException ausgelöst.
Bei nicht gesicherten 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 istnull
, verwendet die AvailablePeerNameResolver -Verknüpfung zum Ausfüllen von Name, Scopeund ScopeId.
Das ResolveCompleted Ereignis wird ausgelöst, wenn der Auflösungsvorgang fehlerhaft abgeschlossen oder abgebrochen wird.
Gilt für:
Resolve(PeerName, Cloud, Int32)
Löst den angegebenen PeerName in der angegebenen Cloud auf und gibt nicht mehr als die angegebene Anzahl von PeerNameRecord-Objekten zurück.
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
- maxRecords
- Int32
Die maximale Anzahl von Peernamensdatensatz-Objekten, die aus der angegebenen Wolke für den angegebenen peerName
abgerufen werden sollen.
Gibt zurück
Eine PeerNameRecordCollection, deren Größe kleiner oder gleich der mit maxRecords
angegebenen Anzahl von Einträgen ist. Diese Auflistung enthält Peernamensdatensätze, die dem aufgelösten PeerName zugeordnet sind.
- Attribute
Ausnahmen
Der peerName
-Parameter ist auf null
festgelegt.
Der maxRecords
-Parameter ist kleiner oder gleich 0 (null).
Der angegebene Peername kann nicht aufgelöst werden.
Hinweise
Bei nicht gesicherten 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 eine PeerToPeerException 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 istnull
, verwendet die AvailablePeerNameResolver -Verknüpfung zum Ausfüllen von Name, Scopeund ScopeId.
Das ResolveCompleted Ereignis wird ausgelöst, wenn der Auflösungsvorgang fehlerhaft abgeschlossen oder abgebrochen wird.