PeerNameResolver.Resolve Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Risolve un PeerName oggetto in un PeerNameRecord oggetto utilizzando il protocollo PNRP.
Overload
| Nome | Descrizione |
|---|---|
| Resolve(PeerName) |
Risolve l'oggetto specificato PeerName in tutti i cloud noti al peer chiamante. |
| Resolve(PeerName, Int32) |
Risolve il nome peer specificato in tutti i cloud noti al peer chiamante, restituendo non più del numero specificato di PeerNameRecord oggetti. |
| Resolve(PeerName, Cloud) |
Risolve l'oggetto specificato PeerName nell'oggetto specificato Cloud. |
| Resolve(PeerName, Cloud, Int32) |
Risolve l'oggetto specificato nell'oggetto specificato PeerNameCloud, restituendo non più del numero specificato di PeerNameRecord oggetti. |
Commenti
Questo metodo associa i nomi peer ai cloud. La chiamata al PeerNameResolver metodo è simile alla chiamata del Resolve metodo per ogni record del nome peer in PeerNameRecordCollection. Si noti che l'uso del metodo Resolve in un singolo record del nome peer non invalida la risoluzione di più nomi di peer.
Per ogni Resolve metodo è presente un metodo equivalente ResolveAsync . Sono identici nei parametri passati, ad eccezione del fatto che il metodo ResolveAsync include un token di sistema nell'elenco dei parametri per la gestione asincrona degli eventi.
Se il Cloud parametro non viene specificato, il metodo usa il Available collegamento per compilare i parametri cloud. Se il maxRecords parametro non è presente, il valore predefinito zero causa la generazione di un'eccezione ArgumentOutOfRangeException .
Questo evento verrà generato anche se l'operazione di risoluzione viene completata in caso di errore o di annullamento.
Resolve(PeerName)
Risolve l'oggetto specificato PeerName in tutti i cloud noti al peer chiamante.
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
Parametri
Valori restituiti
Oggetto PeerNameRecordCollection che contiene tutti i record del nome peer (rappresentati come PeerNameRecord oggetti) associati al nome peer specificato. Per i nomi di peer non protetti, lo stesso PeerName può essere registrato da utenti diversi nello stesso Cloudoggetto e associato a endpoint diversi.
Eccezioni
Il parametro peerName viene impostato su null.
Impossibile risolvere il nome del peer specificato.
Esempio
Nell'esempio di codice seguente viene illustrato come risolvere un PeerName oggetto pubblicato in qualsiasi Cloudoggetto .
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);
}
}
}
Commenti
Questo metodo associa un nome peer ai cloud. Vengono eseguite query su tutti i cloud per .PeerName Se il nome del peer non può essere risolto o è null, viene generata un'eccezione PeerToPeerException .
Per i nomi di peer non protetti, lo stesso nome può essere registrato (e associato a endpoint diversi) da peer diversi all'interno dello stesso cloud.
La chiamata al PeerNameResolver metodo è simile alla chiamata del Resolve metodo per ogni record del nome peer in PeerNameRecordCollection. Si noti che l'uso del metodo Resolve in un singolo record del nome peer non invalida la risoluzione di più nomi di peer.
Per ogni Resolve metodo è presente un metodo equivalente ResolveAsync . Gli elenchi di parametri sono identici, ad eccezione del fatto che il metodo ResolveAsync include un token di sistema per la gestione asincrona degli eventi.
Se il Cloud parametro non viene specificato, il metodo usa il Available collegamento per compilare i parametri cloud.
L'evento ResolveCompleted verrà generato se l'operazione di risoluzione viene completata in caso di errore o di annullamento.
Vedi anche
Si applica a
Resolve(PeerName, Int32)
Risolve il nome peer specificato in tutti i cloud noti al peer chiamante, restituendo non più del numero specificato di PeerNameRecord oggetti.
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
Parametri
- maxRecords
- Int32
Numero massimo di PeerNameRecord oggetti da ottenere da tutti gli Cloud oggetti per l'oggetto peerNamefornito.
Valori restituiti
Oggetto PeerNameRecordCollection la cui dimensione è minore o uguale alle maxRecords voci. Questa raccolta contiene i record dei nomi peer associati all'oggetto PeerName risolto.
Eccezioni
Il parametro peerName viene impostato su null.
Il maxRecords parametro è minore o uguale a zero.
Il nome peer fornito non può essere risolto.
Commenti
Questo metodo associa un nome peer ai cloud. Vengono eseguite query su tutti i cloud per il nome del peer. Per i nomi di peer non protetti, lo stesso nome peer può essere registrato da utenti diversi nello stesso Cloude associati a endpoint diversi. Se non PeerName è possibile risolvere ( ad esempio, il nome del peer non viene pubblicato) viene generata un'eccezione PeerToPeerException .
Per ogni Resolve metodo è presente un metodo equivalente ResolveAsync . Gli elenchi di parametri sono identici, ad eccezione del fatto che il metodo ResolveAsync include un token di sistema per la gestione asincrona degli eventi.
L'evento ResolveCompleted verrà generato se l'operazione di risoluzione viene completata in caso di errore o di annullamento.
Si applica a
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
Parametri
Valori restituiti
PeerNameRecordCollection contenente tutti i record del nome peer (rappresentati come PeerNameRecord oggetti) associati al nome peer specificato. Per i nomi di peer non protetti, lo stesso PeerName può essere registrato da utenti diversi nello stesso Cloudoggetto e associato a endpoint diversi.
Eccezioni
Il parametro peerName viene impostato su null.
Il nome peer fornito non può essere risolto.
Commenti
Se non PeerName è possibile risolvere ( ovvero, il nome del peer non viene pubblicato) viene generata un'eccezione PeerToPeerException .
Per i nomi di peer non protetti, lo stesso nome può essere registrato (e associato a endpoint diversi) da peer diversi all'interno dello stesso cloud.
Per ogni Resolve metodo è presente un metodo equivalente ResolveAsync . Gli elenchi di parametri sono identici, ad eccezione del fatto che il metodo ResolveAsync include un token di sistema per la gestione asincrona degli eventi.
Se il Cloud parametro è null, PeerNameResolver usa il Available collegamento per compilare Name, Scopee ScopeId.
L'evento ResolveCompleted verrà generato se l'operazione di risoluzione viene completata in caso di errore o di annullamento.
Si applica a
Resolve(PeerName, Cloud, Int32)
Risolve l'oggetto specificato nell'oggetto specificato PeerNameCloud, restituendo non più del numero specificato di PeerNameRecord oggetti.
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
Parametri
- maxRecords
- Int32
Numero massimo di oggetti record del nome peer da ottenere dal cloud specificato per l'oggetto specificato peerName.
Valori restituiti
Oggetto PeerNameRecordCollection la cui dimensione è minore o uguale alle maxRecords voci. Questa raccolta contiene i record dei nomi peer associati all'oggetto PeerName risolto.
- Attributi
Eccezioni
Il parametro peerName viene impostato su null.
Il maxRecords parametro è minore o uguale a zero.
Il nome peer fornito non può essere risolto.
Commenti
Per i nomi di peer non protetti, lo stesso nome può essere registrato (e associato a endpoint diversi) da peer diversi all'interno dello stesso cloud. Se il nome del peer non può essere risolto, viene generata un'eccezione PeerToPeerException .
Per ogni Resolve metodo è presente un metodo equivalente ResolveAsync . Gli elenchi di parametri sono identici, ad eccezione del fatto che il metodo ResolveAsync include un token di sistema per la gestione asincrona degli eventi.
Se il Cloud parametro è null, PeerNameResolver usa il Available collegamento per compilare Name, Scopee ScopeId.
L'evento ResolveCompleted verrà generato se l'operazione di risoluzione viene completata in caso di errore o di annullamento.