PeerNameResolver.Resolve Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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) | |
| 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
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
- 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)
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
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
- 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.