PeerNameResolver.Resolve Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
PNRP protokolunu kullanarak bir PeerNamePeerNameRecord nesnesine çözümler.
Aşırı Yüklemeler
Resolve(PeerName) |
Çağrı yapan eş tarafından bilinen tüm bulutlarda belirtilenleri PeerName çözümler. |
Resolve(PeerName, Int32) |
Çağıran eş tarafından bilinen tüm bulutlarda belirtilen eş adını çözümler ve belirtilen sayıda PeerNameRecord nesneden fazlasını döndürmez. |
Resolve(PeerName, Cloud) | |
Resolve(PeerName, Cloud, Int32) |
Belirtilen Cloudiçinde belirtilen PeerName sayıda nesne döndürmeden belirtilen PeerNameRecord değerini çözümler. |
Açıklamalar
Bu yöntem, eş adlarını bulutlarla ilişkilendirir. yöntemini çağırmak PeerNameResolver , içindeki her eş adı kaydı için yöntemini çağırmaya ResolvePeerNameRecordCollectionbenzer. Tek bir eş adı kaydında Resolve yönteminin kullanılması, birden çok eş adı çözümlemeyi geçersiz kılmaz.
Her Resolve yöntem için eşdeğer ResolveAsync bir yöntem vardır. Geçirildikleri parametrelerde aynıdır, ancak ResolveAsync yöntemi zaman uyumsuz olay işleme için parametre listesinde bir sistem belirteci içerir.
parametresi sağlanmazsa Cloud yöntemi, bulut parametrelerini doldurmak için kısayolu kullanır Available .
maxRecords
Parametresi eksikse, varsayılan sıfır değeri bir ArgumentOutOfRangeException özel durum oluşmasına neden olur.
Bu olay, çözümleme işlemi hatayla tamamlanırsa veya iptal edilirse de tetiklenir.
Resolve(PeerName)
Çağrı yapan eş tarafından bilinen tüm bulutlarda belirtilenleri PeerName çözümler.
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
Parametreler
Döndürülenler
PeerNameRecordCollection Belirtilen eş adıyla ilişkili tüm eş adı kayıtlarını (nesneler olarak PeerNameRecord temsil edilir) içeren bir. Güvenli olmayan eş adları için, aynı PeerName aynı içinde farklı kullanıcılar Cloudtarafından kaydedilebilir ve farklı uç noktalarla ilişkilendirilebilir.
Özel durumlar
peerName
parametresi olarak null
ayarlanır.
Belirtilen eş adı çözümlenemiyor.
Örnekler
Aşağıdaki kod örneği, herhangi Cloudbir içinde yayımlanan bir PeerName öğesinin nasıl çözümleneceğini gösterir.
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);
}
}
}
Açıklamalar
Bu yöntem bir eş adı bulutlarla ilişkilendirir. Tüm bulutlar için PeerNamesorgulanır. Eş adı çözümlenemiyorsa veya ise null
, bir PeerToPeerException oluşturulur.
Güvenli olmayan eş adları için aynı ad, aynı buluttaki farklı eşler tarafından kaydedilebilir (ve farklı uç noktalarla ilişkilendirilebilir).
yöntemini çağırmak PeerNameResolver , içindeki her eş adı kaydı için yöntemini çağırmaya ResolvePeerNameRecordCollectionbenzer. Tek bir eş adı kaydında Resolve yönteminin kullanılması, birden çok eş adı çözümlemeyi geçersiz kılmaz.
Her Resolve yöntem için eşdeğer ResolveAsync bir yöntem vardır. ResolveAsync yönteminin zaman uyumsuz olay işleme için bir sistem belirteci içermesi dışında parametre listeleri aynıdır.
parametresi sağlanmazsa Cloud yöntemi, bulut parametrelerini doldurmak için kısayolu kullanır Available .
Çözümleme ResolveCompleted işlemi hatayla tamamlanırsa veya iptal edilirse olay tetiklenir.
Ayrıca bkz.
Şunlara uygulanır
Resolve(PeerName, Int32)
Çağıran eş tarafından bilinen tüm bulutlarda belirtilen eş adını çözümler ve belirtilen sayıda PeerNameRecord nesneden fazlasını döndürmez.
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
Parametreler
- maxRecords
- Int32
Sağlanan peerName
için tüm Cloud nesnelerden elde edilecek en fazla nesne sayısıPeerNameRecord.
Döndürülenler
PeerNameRecordCollection Boyutu girdilerden küçük veya buna eşit maxRecords
olan bir. Bu koleksiyon, çözümlenen ile PeerName ilişkili eş adı kayıtlarını içerir.
Özel durumlar
peerName
parametresi olarak null
ayarlanır.
maxRecords
Parametresi sıfırdan küçük veya sıfıra eşit.
Sağlanan eş adı çözümlenemiyor.
Açıklamalar
Bu yöntem bir eş adı bulutlarla ilişkilendirir. Eş adı için tüm bulutlar sorgulanır. Güvenli olmayan eş adları için, aynı eş adı aynı içindeki Cloudfarklı kullanıcılar tarafından kaydedilebilir ve farklı uç noktalarla ilişkilendirilebilir. PeerName çözümlenemiyorsa (örneğin, eş adı yayımlanmamışsa) bir PeerToPeerException oluşturulur.
Her Resolve yöntem için eşdeğer ResolveAsync bir yöntem vardır. ResolveAsync yönteminin zaman uyumsuz olay işleme için bir sistem belirteci içermesi dışında parametre listeleri aynıdır.
Çözümleme ResolveCompleted işlemi hatayla tamamlanırsa veya iptal edilirse olay tetiklenir.
Şunlara uygulanır
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
Parametreler
Döndürülenler
PeerNameRecordCollection belirtilen eş adıyla ilişkili tüm eş adı kayıtlarını (nesneler olarak PeerNameRecord temsil edilir) içeren. Güvenli olmayan eş adları için, aynı PeerName aynı içinde farklı kullanıcılar Cloudtarafından kaydedilebilir ve farklı uç noktalarla ilişkilendirilebilir.
Özel durumlar
peerName
parametresi olarak null
ayarlanır.
Sağlanan eş adı çözümlenemiyor.
Açıklamalar
PeerName çözümlenemiyorsa (diğer bir ifadeyle eş adı yayımlanmaz) bir PeerToPeerException oluşturulur.
Güvenli olmayan eş adları için aynı ad, aynı buluttaki farklı eşler tarafından kaydedilebilir (ve farklı uç noktalarla ilişkilendirilebilir).
Her Resolve yöntem için eşdeğer ResolveAsync bir yöntem vardır. ResolveAsync yönteminin zaman uyumsuz olay işleme için bir sistem belirteci içermesi dışında parametre listeleri aynıdır.
parametresi isenull
, , PeerNameResolver ve ScopeIdöğesini doldurmak ScopeNameiçin kısayolu kullanırAvailable.Cloud
Çözümleme ResolveCompleted işlemi hatayla tamamlanırsa veya iptal edilirse olay tetiklenir.
Şunlara uygulanır
Resolve(PeerName, Cloud, Int32)
Belirtilen Cloudiçinde belirtilen PeerName sayıda nesne döndürmeden belirtilen PeerNameRecord değerini çözümler.
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
Parametreler
- maxRecords
- Int32
Belirtilen için belirtilen buluttan peerName
alınacak en fazla eş adı kayıt nesnesi sayısı.
Döndürülenler
PeerNameRecordCollection Boyutu girdilerden küçük veya buna eşit maxRecords
olan bir. Bu koleksiyon, çözümlenen ile PeerName ilişkili eş adı kayıtlarını içerir.
- Öznitelikler
Özel durumlar
peerName
parametresi olarak null
ayarlanır.
maxRecords
Parametresi sıfırdan küçük veya sıfıra eşit.
Sağlanan eş adı çözümlenemiyor.
Açıklamalar
Güvenli olmayan eş adları için aynı ad, aynı buluttaki farklı eşler tarafından kaydedilebilir (ve farklı uç noktalarla ilişkilendirilebilir). Eş adı çözümlenemiyorsa, bir PeerToPeerException oluşturulur.
Her Resolve yöntem için eşdeğer ResolveAsync bir yöntem vardır. ResolveAsync yönteminin zaman uyumsuz olay işleme için bir sistem belirteci içermesi dışında parametre listeleri aynıdır.
parametresi isenull
, , PeerNameResolver ve ScopeIdöğesini doldurmak ScopeNameiçin kısayolu kullanırAvailable.Cloud
Çözümleme ResolveCompleted işlemi hatayla tamamlanırsa veya iptal edilirse olay tetiklenir.