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 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) | |
| 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
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
- 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)
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
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
- 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.