PeerNameResolver.Resolve Método

Definición

Resuelve un PeerName objeto en un PeerNameRecord objeto mediante el protocolo PNRP.

Sobrecargas

Nombre Description
Resolve(PeerName)

Resuelve el especificado PeerName en todas las nubes conocidas por el elemento del mismo nivel que llama.

Resolve(PeerName, Int32)

Resuelve el nombre del mismo nivel especificado en todas las nubes conocidas por el elemento del mismo nivel que llama, devolviendo no más del número especificado de PeerNameRecord objetos.

Resolve(PeerName, Cloud)

Resuelve el objeto especificado PeerName en el especificado Cloud.

Resolve(PeerName, Cloud, Int32)

Resuelve el objeto especificado PeerName en el objeto especificado Cloudy no devuelve más del número especificado de PeerNameRecord objetos.

Comentarios

Este método asocia nombres del mismo nivel a nubes. Llamar al PeerNameResolver método es similar a llamar al método para cada registro de nombre del Resolve mismo nivel en .PeerNameRecordCollection Tenga en cuenta que el uso del método Resolve en un registro de nombre del mismo nivel individual no invalida la resolución de varios nombres del mismo nivel.

Para cada Resolve método, hay un método equivalente ResolveAsync . Son idénticos en los parámetros que se pasan, salvo que el método ResolveAsync incluye un token del sistema en su lista de parámetros para el control de eventos asincrónicos.

Si no se proporciona el Cloud parámetro , el método usa el Available acceso directo para rellenar los parámetros en la nube. Si falta el maxRecords parámetro , el valor predeterminado de cero hace que se produzca una ArgumentOutOfRangeException excepción.

Este evento también se generará si la operación de resolución se completa en caso de error o se cancela.

Resolve(PeerName)

Resuelve el especificado PeerName en todas las nubes conocidas por el elemento del mismo nivel que llama.

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

Parámetros

peerName
PeerName

que PeerName se va a resolver.

Devoluciones

que PeerNameRecordCollection contiene todos los registros de nombre del mismo nivel (representados como PeerNameRecord objetos) asociados al nombre del mismo nivel especificado. En el caso de los nombres del mismo nivel no seguros, los usuarios diferentes pueden registrar lo mismo PeerName en el mismo Cloudy asociarse a distintos puntos de conexión.

Excepciones

El parámetro peerName debe establecerse en null.

No se puede resolver el nombre del mismo nivel especificado.

Ejemplos

En el ejemplo de código siguiente se muestra cómo resolver un PeerName objeto publicado en cualquier 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);
        }
    }
}

Comentarios

Este método asocia un nombre del mismo nivel a nubes. Todas las nubes se consultan para .PeerName Si el nombre del mismo nivel no se puede resolver o es null, se produce una PeerToPeerException excepción .

En el caso de los nombres del mismo nivel no seguros, el mismo nombre se puede registrar (y asociar con distintos puntos de conexión) por diferentes pares dentro de la misma nube.

Llamar al PeerNameResolver método es similar a llamar al método para cada registro de nombre del Resolve mismo nivel en .PeerNameRecordCollection Tenga en cuenta que el uso del método Resolve en un registro de nombre del mismo nivel individual no invalida la resolución de varios nombres del mismo nivel.

Para cada Resolve método, hay un método equivalente ResolveAsync . Sus listas de parámetros son idénticas, salvo que el método ResolveAsync incluye un token del sistema para el control de eventos asincrónicos.

Si no se proporciona el Cloud parámetro , el método usa el Available acceso directo para rellenar los parámetros en la nube.

El ResolveCompleted evento se generará si la operación de resolución se completa en error o se cancela.

Consulte también

Se aplica a

Resolve(PeerName, Int32)

Resuelve el nombre del mismo nivel especificado en todas las nubes conocidas por el elemento del mismo nivel que llama, devolviendo no más del número especificado de PeerNameRecord objetos.

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

Parámetros

peerName
PeerName

que PeerName se va a resolver.

maxRecords
Int32

Número máximo de PeerNameRecord objetos que se van a obtener de todos los Cloud objetos para el proporcionado peerName.

Devoluciones

PeerNameRecordCollection cuyo tamaño es menor o igual que maxRecords las entradas. Esta colección contiene registros de nombre del PeerName mismo nivel asociados al objeto que se resolvió.

Excepciones

El parámetro peerName debe establecerse en null.

El maxRecords parámetro es menor o igual que cero.

No se puede resolver el nombre del mismo nivel proporcionado.

Comentarios

Este método asocia un nombre del mismo nivel a nubes. Todas las nubes se consultan para el nombre del mismo nivel. En el caso de los nombres del mismo nivel no seguros, el mismo nombre del mismo nivel se puede registrar por distintos usuarios en el mismo Cloudy asociados a distintos puntos de conexión. Si no PeerName se puede resolver (por ejemplo, no se publica el nombre del mismo nivel), se produce una PeerToPeerException excepción .

Para cada Resolve método, hay un método equivalente ResolveAsync . Sus listas de parámetros son idénticas, salvo que el método ResolveAsync incluye un token del sistema para el control de eventos asincrónicos.

El ResolveCompleted evento se generará si la operación de resolución se completa en error o se cancela.

Se aplica a

Resolve(PeerName, Cloud)

Resuelve el objeto especificado PeerName en el especificado 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

Parámetros

peerName
PeerName

que PeerName se va a resolver.

cloud
Cloud

Cloud en el que se va a resolver el nombre del mismo nivel.

Devoluciones

PeerNameRecordCollection que contiene todos los registros de nombre del mismo nivel (representados como PeerNameRecord objetos) asociados al nombre del mismo nivel especificado. En el caso de los nombres del mismo nivel no seguros, los usuarios diferentes pueden registrar lo mismo PeerName en el mismo Cloudy asociarse a distintos puntos de conexión.

Excepciones

El parámetro peerName debe establecerse en null.

No se puede resolver el nombre del mismo nivel proporcionado.

Comentarios

Si no PeerName se puede resolver (es decir, no se publica el nombre del mismo nivel), se produce una PeerToPeerException excepción .

En el caso de los nombres del mismo nivel no seguros, el mismo nombre se puede registrar (y asociar con distintos puntos de conexión) por diferentes pares dentro de la misma nube.

Para cada Resolve método, hay un método equivalente ResolveAsync . Sus listas de parámetros son idénticas, salvo que el método ResolveAsync incluye un token del sistema para el control de eventos asincrónicos.

Si el Cloud parámetro es null, usa PeerNameResolver el Available acceso directo para rellenar , NameScopey ScopeId.

El ResolveCompleted evento se generará si la operación de resolución se completa en error o se cancela.

Se aplica a

Resolve(PeerName, Cloud, Int32)

Resuelve el objeto especificado PeerName en el objeto especificado Cloudy no devuelve más del número especificado de PeerNameRecord objetos.

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

Parámetros

peerName
PeerName

que PeerName se va a resolver.

cloud
Cloud

en Cloud el que se va a resolver .peerName

maxRecords
Int32

Número máximo de objetos de registro de nombre del mismo nivel que se van a obtener de la nube especificada para el especificado peerName.

Devoluciones

PeerNameRecordCollection cuyo tamaño es menor o igual que maxRecords las entradas. Esta colección contiene registros de nombre del PeerName mismo nivel asociados al objeto que se resolvió.

Atributos

Excepciones

El parámetro peerName debe establecerse en null.

El maxRecords parámetro es menor o igual que cero.

No se puede resolver el nombre del mismo nivel proporcionado.

Comentarios

En el caso de los nombres del mismo nivel no seguros, el mismo nombre se puede registrar (y asociar con distintos puntos de conexión) por diferentes pares dentro de la misma nube. Si no se puede resolver el nombre del mismo nivel, se produce una PeerToPeerException excepción .

Para cada Resolve método, hay un método equivalente ResolveAsync . Sus listas de parámetros son idénticas, salvo que el método ResolveAsync incluye un token del sistema para el control de eventos asincrónicos.

Si el Cloud parámetro es null, usa PeerNameResolver el Available acceso directo para rellenar , NameScopey ScopeId.

El ResolveCompleted evento se generará si la operación de resolución se completa en error o se cancela.

Se aplica a