PeerNameResolver.Resolve Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
PeerName Rozpoznaje obiekt PeerNameRecord przy użyciu protokołu PNRP.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Resolve(PeerName) |
Rozpoznaje wartość określoną PeerName we wszystkich chmurach znanych elementowi równorzędnym wywołującym. |
| Resolve(PeerName, Int32) |
Rozpoznaje określoną nazwę elementu równorzędnego we wszystkich chmurach znanych z wywołującego elementu równorzędnego, zwracając nie więcej niż określoną liczbę PeerNameRecord obiektów. |
| Resolve(PeerName, Cloud) | |
| Resolve(PeerName, Cloud, Int32) |
Rozpoznaje określony PeerName w określonym Cloudobiekcie , zwracając nie więcej niż określona liczba PeerNameRecord obiektów. |
Uwagi
Ta metoda kojarzy nazwy równorzędne z chmurami. PeerNameResolver Wywołanie metody jest podobne do wywoływania Resolve metody dla każdego rekordu nazwy elementu równorzędnego w pliku PeerNameRecordCollection. Należy pamiętać, że użycie metody Resolve dla pojedynczego rekordu nazwy równorzędnej nie powoduje unieważnienia rozpoznawania wielu nazw równorzędnych.
Dla każdej Resolve metody istnieje równoważna ResolveAsync metoda. Są one identyczne w parametrach, które są przekazywane, z tą różnicą, że metoda ResolveAsync zawiera token systemowy na liście parametrów do obsługi zdarzeń asynchronicznych.
Cloud Jeśli parametr nie zostanie podany, metoda używa skrótu Available do wypełniania parametrów chmury. Jeśli brakuje parametru maxRecords , wartość domyślna zero powoduje ArgumentOutOfRangeException zgłoszenie wyjątku.
To zdarzenie zostanie również zgłoszone, jeśli operacja rozwiązywania zakończy się w błędzie lub zostanie anulowana.
Resolve(PeerName)
Rozpoznaje wartość określoną PeerName we wszystkich chmurach znanych elementowi równorzędnym wywołującym.
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
Parametry
Zwraca
Element PeerNameRecordCollection zawierający wszystkie rekordy nazw elementów równorzędnych (reprezentowane jako PeerNameRecord obiekty) skojarzone z określoną nazwą elementu równorzędnego. W przypadku niezabezpieczonych nazw elementów równorzędnych te same PeerName mogą być rejestrowane przez różnych użytkowników w tym samym Cloudelemencie i skojarzone z różnymi punktami końcowymi.
Wyjątki
Parametr peerName jest ustawiony na nullwartość .
Nie można rozpoznać określonej nazwy elementu równorzędnego.
Przykłady
Poniższy przykład kodu ilustruje sposób rozwiązywania problemu opublikowanego PeerName w dowolnym Cloudobiekcie .
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);
}
}
}
Uwagi
Ta metoda kojarzy nazwę elementu równorzędnego z chmurami. Wszystkie chmury są odpytywane dla elementu PeerName. Jeśli nie można rozpoznać nazwy elementu równorzędnego lub jest to null, PeerToPeerException jest zgłaszany.
W przypadku niezabezpieczonych nazw równorzędnych można zarejestrować (i skojarzyć je z różnymi punktami końcowymi) przez różne elementy równorzędne w tej samej chmurze.
PeerNameResolver Wywołanie metody jest podobne do wywoływania Resolve metody dla każdego rekordu nazwy elementu równorzędnego w pliku PeerNameRecordCollection. Należy pamiętać, że użycie metody Resolve dla pojedynczego rekordu nazwy równorzędnej nie powoduje unieważnienia rozpoznawania wielu nazw równorzędnych.
Dla każdej Resolve metody istnieje równoważna ResolveAsync metoda. Ich listy parametrów są identyczne, z tą różnicą, że metoda ResolveAsync zawiera token systemowy do asynchronicznej obsługi zdarzeń.
Cloud Jeśli parametr nie zostanie podany, metoda używa skrótu Available do wypełniania parametrów chmury.
Zdarzenie ResolveCompleted zostanie zgłoszone, jeśli operacja rozwiązywania zakończy się w błędzie lub zostanie anulowana.
Zobacz też
Dotyczy
Resolve(PeerName, Int32)
Rozpoznaje określoną nazwę elementu równorzędnego we wszystkich chmurach znanych z wywołującego elementu równorzędnego, zwracając nie więcej niż określoną liczbę PeerNameRecord obiektów.
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
Parametry
- maxRecords
- Int32
Maksymalna liczba PeerNameRecord obiektów do uzyskania ze wszystkich Cloud obiektów dla podanego peerNameobiektu .
Zwraca
Element PeerNameRecordCollection o rozmiarze mniejszym lub równym maxRecords wpisów. Ta kolekcja zawiera rekordy nazw równorzędnych skojarzone z rozpoznaną nazwą PeerName .
Wyjątki
Parametr peerName jest ustawiony na nullwartość .
Parametr maxRecords jest mniejszy lub równy zero.
Nie można rozpoznać podanej nazwy elementu równorzędnego.
Uwagi
Ta metoda kojarzy nazwę elementu równorzędnego z chmurami. Wszystkie chmury są odpytywane pod kątem nazwy elementu równorzędnego. W przypadku niezabezpieczonych nazw równorzędnych ta sama nazwa elementu równorzędnego może być zarejestrowana przez różnych użytkowników w tym samym Cloudelemencie i skojarzona z różnymi punktami końcowymi. PeerName Jeśli nie można rozpoznać elementu (na przykład nazwa elementu równorzędnego nie zostanie opublikowana) PeerToPeerException zostanie zgłoszony.
Dla każdej Resolve metody istnieje równoważna ResolveAsync metoda. Ich listy parametrów są identyczne, z tą różnicą, że metoda ResolveAsync zawiera token systemowy do asynchronicznej obsługi zdarzeń.
Zdarzenie ResolveCompleted zostanie zgłoszone, jeśli operacja rozwiązywania zakończy się w błędzie lub zostanie anulowana.
Dotyczy
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
Parametry
Zwraca
PeerNameRecordCollection zawiera wszystkie rekordy nazw elementów równorzędnych (reprezentowane jako PeerNameRecord obiekty) skojarzone z określoną nazwą elementu równorzędnego. W przypadku niezabezpieczonych nazw elementów równorzędnych te same PeerName mogą być rejestrowane przez różnych użytkowników w tym samym Cloudelemencie i skojarzone z różnymi punktami końcowymi.
Wyjątki
Parametr peerName jest ustawiony na nullwartość .
Nie można rozpoznać podanej nazwy elementu równorzędnego.
Uwagi
PeerName Jeśli nie można rozpoznać elementu (oznacza to, że nazwa elementu równorzędnego PeerToPeerException nie zostanie opublikowana) zostanie zgłoszony.
W przypadku niezabezpieczonych nazw równorzędnych można zarejestrować (i skojarzyć je z różnymi punktami końcowymi) przez różne elementy równorzędne w tej samej chmurze.
Dla każdej Resolve metody istnieje równoważna ResolveAsync metoda. Ich listy parametrów są identyczne, z tą różnicą, że metoda ResolveAsync zawiera token systemowy do asynchronicznej obsługi zdarzeń.
Cloud Jeśli parametr ma nullwartość , PeerNameResolver parametr używa skrótu Available do wypełniania Namewartości , Scopei ScopeId.
Zdarzenie ResolveCompleted zostanie zgłoszone, jeśli operacja rozwiązywania zakończy się w błędzie lub zostanie anulowana.
Dotyczy
Resolve(PeerName, Cloud, Int32)
Rozpoznaje określony PeerName w określonym Cloudobiekcie , zwracając nie więcej niż określona liczba PeerNameRecord obiektów.
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
Parametry
- maxRecords
- Int32
Maksymalna liczba obiektów rekordów nazw równorzędnych, które mają być uzyskiwane z określonej chmury dla określonego peerNameelementu .
Zwraca
Element PeerNameRecordCollection o rozmiarze mniejszym lub równym maxRecords wpisów. Ta kolekcja zawiera rekordy nazw równorzędnych skojarzone z rozpoznaną nazwą PeerName .
- Atrybuty
Wyjątki
Parametr peerName jest ustawiony na nullwartość .
Parametr maxRecords jest mniejszy lub równy zero.
Nie można rozpoznać podanej nazwy elementu równorzędnego.
Uwagi
W przypadku niezabezpieczonych nazw równorzędnych można zarejestrować (i skojarzyć je z różnymi punktami końcowymi) przez różne elementy równorzędne w tej samej chmurze. Jeśli nie można rozpoznać nazwy elementu równorzędnego, zostanie zgłoszony element PeerToPeerException .
Dla każdej Resolve metody istnieje równoważna ResolveAsync metoda. Ich listy parametrów są identyczne, z tą różnicą, że metoda ResolveAsync zawiera token systemowy do asynchronicznej obsługi zdarzeń.
Cloud Jeśli parametr ma nullwartość , PeerNameResolver parametr używa skrótu Available do wypełniania Namewartości , Scopei ScopeId.
Zdarzenie ResolveCompleted zostanie zgłoszone, jeśli operacja rozwiązywania zakończy się w błędzie lub zostanie anulowana.