PeerNameResolver.Resolve Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Löser ett PeerName objekt till ett PeerNameRecord med hjälp av PNRP-protokollet.
Överlagringar
| Name | Description |
|---|---|
| Resolve(PeerName) |
Löser de angivna PeerName i alla moln som är kända för den anropande peern. |
| Resolve(PeerName, Int32) |
Löser det angivna peer-namnet i alla moln som är kända för den anropande peern och returnerar inte mer än det angivna antalet PeerNameRecord objekt. |
| Resolve(PeerName, Cloud) | |
| Resolve(PeerName, Cloud, Int32) |
Löser det angivna PeerName i angivet Cloudoch returnerar inte mer än det angivna antalet PeerNameRecord objekt. |
Kommentarer
Den här metoden associerar peer-namn till moln. PeerNameResolver Att anropa metoden liknar att anropa Resolve metoden för varje peer-namnpost i PeerNameRecordCollection. Observera att det inte är ogiltigt att matcha flera peer-namn med hjälp av metoden Lös på en enskild peer-namnpost.
För varje Resolve metod finns det en motsvarande ResolveAsync metod. De är identiska i de parametrar som de skickas, förutom att metoden ResolveAsync innehåller en systemtoken i parameterlistan för asynkron händelsehantering.
Om parametern Cloud inte anges använder Available metoden genvägen för att fylla i molnparametrar. Om parametern maxRecords saknas orsakar standardvärdet noll ett ArgumentOutOfRangeException undantag.
Den här händelsen utlöses också om åtgärdsåtgärden slutförs i fel eller avbryts.
Resolve(PeerName)
Löser de angivna PeerName i alla moln som är kända för den anropande peern.
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
Parametrar
Returer
En PeerNameRecordCollection som innehåller alla peer-namnposter (representeras som objekt) som PeerNameRecord är associerade med det angivna peer-namnet. För oskyddade peer-namn kan samma PeerName sak registreras av olika användare i samma Cloud, och associeras med olika slutpunkter.
Undantag
Parametern peerName är inställd på null.
Det angivna peernamnet kan inte matchas.
Exempel
I följande kodexempel visas hur du löser en PeerName publicerad i valfri 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);
}
}
}
Kommentarer
Den här metoden associerar ett peer-namn med moln. Alla moln efterfrågas för PeerName. Om peer-namnet inte kan matchas eller är null, genereras ett PeerToPeerException .
För oskyddade peer-namn kan samma namn registreras (och associeras med olika slutpunkter) av olika peer-datorer i samma moln.
PeerNameResolver Att anropa metoden liknar att anropa Resolve metoden för varje peer-namnpost i PeerNameRecordCollection. Observera att det inte är ogiltigt att matcha flera peer-namn med hjälp av metoden Lös på en enskild peer-namnpost.
För varje Resolve metod finns det en motsvarande ResolveAsync metod. Deras parameterlistor är identiska, förutom att metoden ResolveAsync innehåller en systemtoken för asynkron händelsehantering.
Om parametern Cloud inte anges använder Available metoden genvägen för att fylla i molnparametrar.
Händelsen ResolveCompleted utlöses om lösenåtgärden slutförs i fel eller avbryts.
Se även
Gäller för
Resolve(PeerName, Int32)
Löser det angivna peer-namnet i alla moln som är kända för den anropande peern och returnerar inte mer än det angivna antalet PeerNameRecord objekt.
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
Parametrar
- maxRecords
- Int32
Det maximala antalet PeerNameRecord objekt som ska hämtas från alla Cloud objekt för den angivna peerName.
Returer
En PeerNameRecordCollection vars storlek är mindre än eller lika med maxRecords poster. Den här samlingen innehåller peer-namnposter som är associerade med den PeerName som löstes.
Undantag
Parametern peerName är inställd på null.
Parametern maxRecords är mindre än eller lika med noll.
Det angivna peernamnet kan inte matchas.
Kommentarer
Den här metoden associerar ett peer-namn med moln. Alla moln efterfrågas för peer-namnet. För oskyddade peer-namn kan samma peer-namn registreras av olika användare i samma Cloudoch associeras med olika slutpunkter. Om det PeerName inte går att matcha (till exempel att peer-namnet inte publiceras) genereras en PeerToPeerException .
För varje Resolve metod finns det en motsvarande ResolveAsync metod. Deras parameterlistor är identiska, förutom att metoden ResolveAsync innehåller en systemtoken för asynkron händelsehantering.
Händelsen ResolveCompleted utlöses om lösenåtgärden slutförs i fel eller avbryts.
Gäller 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
Parametrar
Returer
PeerNameRecordCollection som innehåller alla peer-namnposter (representeras som objekt) som PeerNameRecord är associerade med det angivna peer-namnet. För oskyddade peer-namn kan samma PeerName sak registreras av olika användare i samma Cloud, och associeras med olika slutpunkter.
Undantag
Parametern peerName är inställd på null.
Det angivna peernamnet kan inte matchas.
Kommentarer
Om det PeerName inte går att matcha (d.v.s. att peer-namnet inte publiceras) genereras en PeerToPeerException .
För oskyddade peer-namn kan samma namn registreras (och associeras med olika slutpunkter) av olika peer-datorer i samma moln.
För varje Resolve metod finns det en motsvarande ResolveAsync metod. Deras parameterlistor är identiska, förutom att metoden ResolveAsync innehåller en systemtoken för asynkron händelsehantering.
Om parametern Cloud är nullanvänder PeerNameResolverAvailable genvägen för att fylla i Name, Scopeoch ScopeId.
Händelsen ResolveCompleted utlöses om lösenåtgärden slutförs i fel eller avbryts.
Gäller för
Resolve(PeerName, Cloud, Int32)
Löser det angivna PeerName i angivet Cloudoch returnerar inte mer än det angivna antalet PeerNameRecord objekt.
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
Parametrar
- maxRecords
- Int32
Det maximala antalet peer-namnpostobjekt som ska hämtas från det angivna molnet för den angivna peerName.
Returer
En PeerNameRecordCollection vars storlek är mindre än eller lika med maxRecords poster. Den här samlingen innehåller peer-namnposter som är associerade med den PeerName som löstes.
- Attribut
Undantag
Parametern peerName är inställd på null.
Parametern maxRecords är mindre än eller lika med noll.
Det angivna peernamnet kan inte matchas.
Kommentarer
För oskyddade peer-namn kan samma namn registreras (och associeras med olika slutpunkter) av olika peer-datorer i samma moln. Om peer-namnet inte kan matchas genereras ett PeerToPeerException .
För varje Resolve metod finns det en motsvarande ResolveAsync metod. Deras parameterlistor är identiska, förutom att metoden ResolveAsync innehåller en systemtoken för asynkron händelsehantering.
Om parametern Cloud är nullanvänder PeerNameResolverAvailable genvägen för att fylla i Name, Scopeoch ScopeId.
Händelsen ResolveCompleted utlöses om lösenåtgärden slutförs i fel eller avbryts.