PeerNameResolver.Resolve Metod

Definition

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)

Löser angiven PeerName i angiven 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

peerName
PeerName

Att PeerName lösa.

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

peerName
PeerName

Att PeerName lösa.

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)

Löser angiven PeerName i angiven 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

peerName
PeerName

Att PeerName lösa.

cloud
Cloud

I Cloud vilken du kan matcha peer-namnet.

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

peerName
PeerName

Att PeerName lösa.

cloud
Cloud

I Cloud vilken du kan lösa peerName.

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.

Gäller för