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 oggetto PeerName in un PeerNameRecord utilizzando il protocollo PNRP.
Overload
Resolve(PeerName) |
Risolve l'oggetto PeerName specificato contenuto in tutte le aree note al peer chiamante. |
Resolve(PeerName, Int32) |
Risolve il nome peer specificato in tutte le aree note al peer chiamante, restituendo al massimo il numero specificato di oggetti PeerNameRecord. |
Resolve(PeerName, Cloud) |
Risolve l'oggetto PeerName specificato contenuto nell'oggetto Cloud indicato. |
Resolve(PeerName, Cloud, Int32) |
Risolve l'oggetto PeerName specificato contenuto nell'oggetto Cloud indicato, restituendo al massimo il numero specificato di oggetti PeerNameRecord. |
Commenti
Questo metodo associa i nomi di peer ai cloud. La chiamata al PeerNameResolver metodo è simile alla chiamata del Resolve metodo per ogni record di nome peer in PeerNameRecordCollection. Si noti che l'uso del metodo Resolve in un singolo record di nome peer non invalida la risoluzione di più nomi peer.
Per ogni Resolve metodo, esiste 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 degli eventi asincroni.
Se il parametro non viene fornito, il metodo usa il CloudAvailable collegamento per compilare i parametri cloud. Se il parametro non è presente, il maxRecords
valore predefinito di 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 annullata.
Resolve(PeerName)
Risolve l'oggetto PeerName specificato contenuto in tutte le aree note 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
Restituisce
Oggetto PeerNameRecordCollection contenente tutti i record di nome peer (rappresentati come oggetti PeerNameRecord) associati al nome peer specificato. Un PeerName non protetto può essere registrato da più utenti nello stesso oggetto Cloud e associato a endpoint distinti.
Eccezioni
Il parametro peerName
viene impostato su null
.
Non è stato possibile risolvere il nome 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. Tutti i cloud vengono sottoposti a query per .PeerName Se il nome del peer non può essere risolto o è null
, viene generata una PeerToPeerException classe .
Per i nomi 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 di nome peer in PeerNameRecordCollection. Si noti che l'uso del metodo Resolve in un singolo record di nome peer non invalida la risoluzione di più nomi peer.
Per ogni Resolve metodo, esiste 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 degli eventi asincroni.
Se il parametro non viene fornito, il metodo usa il CloudAvailable collegamento per compilare i parametri cloud.
L'evento ResolveCompleted verrà generato se l'operazione di risoluzione viene completata in caso di errore o annullata.
Vedi anche
Si applica a
Resolve(PeerName, Int32)
Risolve il nome peer specificato in tutte le aree note al peer chiamante, restituendo al massimo il numero specificato di oggetti PeerNameRecord.
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 oggetti PeerNameRecord da ottenere da tutti gli oggetti Cloud relativi all'oggetto peerName
fornito.
Restituisce
Oggetto PeerNameRecordCollection contenente un numero di voci minore o uguale al valore specificato in maxRecords
. Questo insieme contiene i record di nome peer associati all'oggetto PeerName risolto.
Eccezioni
Il parametro peerName
viene impostato su null
.
Il parametro maxRecords
è minore o uguale a zero.
Non è stato possibile risolvere il nome peer fornito.
Commenti
Questo metodo associa un nome peer ai cloud. Tutti i cloud vengono sottoposti a query per il nome del peer. Per i nomi peer non protetti, lo stesso nome peer può essere registrato da utenti diversi nello stesso Cloude associati a endpoint diversi. Se non è possibile risolvere il PeerName valore (ad esempio, il nome del peer non viene pubblicato) PeerToPeerException viene generato.
Per ogni Resolve metodo, esiste 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 degli eventi asincroni.
L'evento ResolveCompleted verrà generato se l'operazione di risoluzione viene completata in caso di errore o annullata.
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
Restituisce
Oggetto PeerNameRecordCollection contenente tutti i record di nome peer (rappresentati come oggetti PeerNameRecord) associati al nome peer specificato. Un PeerName non protetto può essere registrato da più utenti nello stesso oggetto Cloud e associato a endpoint distinti.
Eccezioni
Il parametro peerName
viene impostato su null
.
Non è stato possibile risolvere il nome peer fornito.
Commenti
Se non è possibile risolvere l'oggetto PeerName , ovvero il nome del peer non viene pubblicato, viene generato un PeerToPeerException valore.
Per i nomi 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, esiste 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 degli eventi asincroni.
Se il parametro è , usa il CloudAvailable collegamento per compilare , ScopeNamee ScopeId.PeerNameResolvernull
L'evento ResolveCompleted verrà generato se l'operazione di risoluzione viene completata in caso di errore o annullata.
Si applica a
Resolve(PeerName, Cloud, Int32)
Risolve l'oggetto PeerName specificato contenuto nell'oggetto Cloud indicato, restituendo al massimo il numero specificato di oggetti PeerNameRecord.
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 di nome peer da ottenere dall'area specificata per l'oggetto peerName
indicato.
Restituisce
Oggetto PeerNameRecordCollection contenente un numero di voci minore o uguale al valore specificato in maxRecords
. Questo insieme contiene i record di nome peer associati all'oggetto PeerName risolto.
- Attributi
Eccezioni
Il parametro peerName
viene impostato su null
.
Il parametro maxRecords
è minore o uguale a zero.
Non è stato possibile risolvere il nome peer fornito.
Commenti
Per i nomi 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 generato un PeerToPeerException valore.
Per ogni Resolve metodo, esiste 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 degli eventi asincroni.
Se il parametro è , usa il CloudAvailable collegamento per compilare , ScopeNamee ScopeId.PeerNameResolvernull
L'evento ResolveCompleted verrà generato se l'operazione di risoluzione viene completata in caso di errore o annullata.