Aracılığıyla paylaş


PeerNameResolver.Resolve Yöntem

Tanım

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)

Belirtilen Cloudiçinde belirtileni PeerName çözümler.

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

peerName
PeerName

Çözümlenmesi PeerName için.

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 nullayarlanı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

peerName
PeerName

Çözümlenmesi PeerName için.

maxRecords
Int32

Sağlanan peerNameiç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 nullayarlanı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)

Belirtilen Cloudiçinde belirtileni PeerName çözümler.

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

peerName
PeerName

Çözümlenmesi PeerName için.

cloud
Cloud

Cloud Eş adının çözümlendiği yer.

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 nullayarlanı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

peerName
PeerName

Çözümlenmesi PeerName için.

cloud
Cloud

öğesinin Cloud çözümlenmesi için gereken.peerName

maxRecords
Int32

Belirtilen için belirtilen buluttan peerNamealı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 nullayarlanı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.

Şunlara uygulanır