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
Resolve(PeerName) |
Rozwiązuje problem określony PeerName we wszystkich chmurach znanych elementom równorzędnym wywołującym. |
Resolve(PeerName, Int32) |
Rozpoznaje określoną nazwę elementu równorzędnego we wszystkich chmurach znanych wywołującej komunikacji równorzędnej, 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śloną liczbę 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 elemencie 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 wyjątkiem tego, ż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)
Rozwiązuje problem określony PeerName we wszystkich chmurach znanych elementom 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 równorzędnych te same PeerName nazwy mogą być zarejestrowane przez różnych użytkowników w tym samym Cloudobiekcie i skojarzone z różnymi punktami końcowymi.
Wyjątki
Parametr peerName
jest ustawiony na null
wartość .
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 pliku 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);
}
}
}
Uwagi
Ta metoda kojarzy nazwę równorzędną z chmurami. Wszystkie chmury są odpytywane dla obiektu PeerName. Jeśli nie można rozpoznać nazwy elementu równorzędnego lub jest to null
, PeerToPeerException jest zgłaszany.
W przypadku niezabezpieczonych nazw elementów 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 elemencie 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 obsługi zdarzeń asynchronicznych.
Cloud Jeśli parametr nie zostanie podany, metoda używa skrótu Available do wypełniania parametrów chmury.
Zdarzenie ResolveCompleted zostanie podniesione, 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 wywołującej komunikacji równorzędnej, 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 elementu peerName
.
Zwraca
Rozmiar PeerNameRecordCollection , którego rozmiar jest mniejszy lub równy maxRecords
wpisom. Ta kolekcja zawiera rekordy nazw elementów równorzędnych skojarzonych z PeerName rozpoznaną nazwą.
Wyjątki
Parametr peerName
jest ustawiony na null
wartość .
Parametr maxRecords
jest mniejszy lub równy zero.
Nie można rozpoznać podanej nazwy elementu równorzędnego.
Uwagi
Ta metoda kojarzy nazwę równorzędną 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 obsługi zdarzeń asynchronicznych.
Zdarzenie ResolveCompleted zostanie podniesione, 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 równorzędnych te same PeerName nazwy mogą być zarejestrowane przez różnych użytkowników w tym samym Cloudobiekcie i skojarzone z różnymi punktami końcowymi.
Wyjątki
Parametr peerName
jest ustawiony na null
wartość .
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 nie zostanie opublikowana) PeerToPeerException zostanie zgłoszony.
W przypadku niezabezpieczonych nazw elementów 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 obsługi zdarzeń asynchronicznych.
Cloud Jeśli parametr to null
, PeerNameResolver używa skrótu Available do wypełnienia Namewartości , Scopei ScopeId.
Zdarzenie ResolveCompleted zostanie podniesione, 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śloną liczbę 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 peerName
elementu .
Zwraca
Rozmiar PeerNameRecordCollection , którego rozmiar jest mniejszy lub równy maxRecords
wpisom. Ta kolekcja zawiera rekordy nazw elementów równorzędnych skojarzonych z PeerName rozpoznaną nazwą.
- Atrybuty
Wyjątki
Parametr peerName
jest ustawiony na null
wartość .
Parametr maxRecords
jest mniejszy lub równy zero.
Nie można rozpoznać podanej nazwy elementu równorzędnego.
Uwagi
W przypadku niezabezpieczonych nazw elementów 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, 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 obsługi zdarzeń asynchronicznych.
Cloud Jeśli parametr to null
, PeerNameResolver używa skrótu Available do wypełnienia Namewartości , Scopei ScopeId.
Zdarzenie ResolveCompleted zostanie podniesione, jeśli operacja rozwiązywania zakończy się w błędzie lub zostanie anulowana.