Bagikan melalui


PeerNameResolver.Resolve Metode

Definisi

PeerName Menyelesaikan objek ke PeerNameRecord menggunakan protokol PNRP.

Overload

Resolve(PeerName)

Menyelesaikan yang ditentukan PeerName di semua cloud yang diketahui oleh peering panggilan.

Resolve(PeerName, Int32)

Menyelesaikan nama peer yang ditentukan di semua cloud yang diketahui oleh peering panggilan, mengembalikan tidak lebih dari jumlah PeerNameRecord objek yang ditentukan.

Resolve(PeerName, Cloud)

Menyelesaikan yang ditentukan PeerName dalam yang ditentukan Cloud.

Resolve(PeerName, Cloud, Int32)

Menyelesaikan yang ditentukan PeerName dalam Cloud, mengembalikan tidak lebih dari jumlah PeerNameRecord objek yang ditentukan.

Keterangan

Metode ini mengaitkan nama serekan ke cloud. Memanggil PeerNameResolver metode ini mirip dengan memanggil Resolve metode untuk setiap rekaman nama serekan PeerNameRecordCollectiondi . Perhatikan bahwa menggunakan metode Atasi pada rekaman nama serekan individual tidak membatalkan penyelesaian beberapa nama serekan.

Untuk setiap Resolve metode, ada metode yang setara ResolveAsync . Mereka identik dalam parameter yang mereka lewati, kecuali bahwa metode ResolveAsync menyertakan token sistem dalam daftar parameternya untuk penanganan peristiwa asinkron.

Cloud Jika parameter tidak disediakan, metode menggunakan Available pintasan untuk mengisi parameter cloud. maxRecords Jika parameter hilang, nilai default nol menyebabkan ArgumentOutOfRangeException pengecualian dilemparkan.

Kejadian ini juga akan dinaikkan jika operasi penyelesaian selesai dalam kesalahan atau dibatalkan.

Resolve(PeerName)

Menyelesaikan yang ditentukan PeerName di semua cloud yang diketahui oleh peering panggilan.

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

Parameter

peerName
PeerName

untuk PeerName mengatasinya.

Mengembalikan

PeerNameRecordCollection yang berisi semua rekaman nama serekan (direpresentasikan sebagai PeerNameRecord objek) yang terkait dengan nama serekan yang ditentukan. Untuk nama serekan yang tidak aman, hal yang sama PeerName dapat didaftarkan oleh pengguna yang berbeda dalam , yang sama Cloud, dan terkait dengan titik akhir yang berbeda.

Pengecualian

Parameter peerName diatur ke null.

Nama serekan yang ditentukan tidak dapat diatasi.

Contoh

Contoh kode berikut mengilustrasikan cara menyelesaikan yang PeerName diterbitkan di apa pun 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);
        }
    }
}

Keterangan

Metode ini mengaitkan nama peer ke cloud. Semua cloud dikueri untuk PeerName. Jika nama serekan tidak dapat diselesaikan atau , nullPeerToPeerException akan dilemparkan.

Untuk nama serekan yang tidak aman, nama yang sama dapat didaftarkan (dan dikaitkan dengan titik akhir yang berbeda) oleh rekan yang berbeda dalam cloud yang sama.

Memanggil PeerNameResolver metode ini mirip dengan memanggil Resolve metode untuk setiap rekaman nama serekan PeerNameRecordCollectiondi . Perhatikan bahwa menggunakan metode Atasi pada rekaman nama serekan individual tidak membatalkan penyelesaian beberapa nama serekan.

Untuk setiap Resolve metode, ada metode yang setara ResolveAsync . Daftar parameter mereka identik, kecuali bahwa metode ResolveAsync menyertakan token sistem untuk penanganan peristiwa asinkron.

Cloud Jika parameter tidak disediakan, metode menggunakan Available pintasan untuk mengisi parameter cloud.

Peristiwa ResolveCompleted akan dinaikkan jika operasi penyelesaian selesai dalam kesalahan atau dibatalkan.

Lihat juga

Berlaku untuk

Resolve(PeerName, Int32)

Menyelesaikan nama peer yang ditentukan di semua cloud yang diketahui oleh peering panggilan, mengembalikan tidak lebih dari jumlah PeerNameRecord objek yang ditentukan.

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

Parameter

peerName
PeerName

untuk PeerName mengatasinya.

maxRecords
Int32

Jumlah PeerNameRecord maksimum objek yang diperoleh dari semua Cloud objek untuk yang disediakan peerName.

Mengembalikan

Yang PeerNameRecordCollection ukurannya kurang dari atau sama dengan maxRecords entri. Koleksi ini berisi rekaman nama serekan yang terkait dengan PeerName yang telah diselesaikan.

Pengecualian

Parameter peerName diatur ke null.

Parameter maxRecords kurang dari atau sama dengan nol.

Nama serekan yang disediakan tidak dapat diselesaikan.

Keterangan

Metode ini mengaitkan nama peer ke cloud. Semua cloud dikueri untuk nama serekan. Untuk nama serekan yang tidak aman, nama serekan yang sama dapat didaftarkan oleh pengguna yang berbeda dalam yang sama Cloud, dan terkait dengan titik akhir yang berbeda. PeerName Jika tidak dapat diselesaikan (misalnya, nama serekan tidak diterbitkan) PeerToPeerException akan dilemparkan.

Untuk setiap Resolve metode, ada metode yang setara ResolveAsync . Daftar parameter mereka identik, kecuali bahwa metode ResolveAsync menyertakan token sistem untuk penanganan peristiwa asinkron.

Peristiwa ResolveCompleted akan dinaikkan jika operasi penyelesaian selesai dalam kesalahan atau dibatalkan.

Berlaku untuk

Resolve(PeerName, Cloud)

Menyelesaikan yang ditentukan PeerName dalam yang ditentukan 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

Parameter

peerName
PeerName

untuk PeerName mengatasinya.

cloud
Cloud

untuk Cloud mengatasi nama serekan.

Mengembalikan

PeerNameRecordCollection yang berisi semua rekaman nama serekan (direpresentasikan sebagai PeerNameRecord objek) yang terkait dengan nama serekan yang ditentukan. Untuk nama serekan yang tidak aman, hal yang sama PeerName dapat didaftarkan oleh pengguna yang berbeda dalam , yang sama Cloud, dan terkait dengan titik akhir yang berbeda.

Pengecualian

Parameter peerName diatur ke null.

Nama serekan yang disediakan tidak dapat diselesaikan.

Keterangan

PeerName Jika tidak dapat diselesaikan (yaitu, nama serekan tidak diterbitkan) PeerToPeerException akan dilemparkan.

Untuk nama serekan yang tidak aman, nama yang sama dapat didaftarkan (dan dikaitkan dengan titik akhir yang berbeda) oleh rekan yang berbeda dalam cloud yang sama.

Untuk setiap Resolve metode, ada metode yang setara ResolveAsync . Daftar parameter mereka identik, kecuali bahwa metode ResolveAsync menyertakan token sistem untuk penanganan peristiwa asinkron.

Cloud Jika parameter adalah null, PeerNameResolver menggunakan Available pintasan untuk mengisi Name, , Scopedan ScopeId.

Peristiwa ResolveCompleted akan dinaikkan jika operasi penyelesaian selesai dalam kesalahan atau dibatalkan.

Berlaku untuk

Resolve(PeerName, Cloud, Int32)

Menyelesaikan yang ditentukan PeerName dalam Cloud, mengembalikan tidak lebih dari jumlah PeerNameRecord objek yang ditentukan.

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

Parameter

peerName
PeerName

untuk PeerName mengatasinya.

cloud
Cloud

untuk Cloud menyelesaikan peerName.

maxRecords
Int32

Jumlah maksimum objek rekaman nama serekan untuk diperoleh dari cloud yang ditentukan untuk yang ditentukan peerName.

Mengembalikan

Yang PeerNameRecordCollection ukurannya kurang dari atau sama dengan maxRecords entri. Koleksi ini berisi rekaman nama serekan yang terkait dengan PeerName yang telah diselesaikan.

Atribut

Pengecualian

Parameter peerName diatur ke null.

Parameter maxRecords kurang dari atau sama dengan nol.

Nama serekan yang disediakan tidak dapat diselesaikan.

Keterangan

Untuk nama serekan yang tidak aman, nama yang sama dapat didaftarkan (dan dikaitkan dengan titik akhir yang berbeda) oleh rekan yang berbeda dalam cloud yang sama. Jika nama serekan tidak dapat diselesaikan, maka PeerToPeerException akan dilemparkan.

Untuk setiap Resolve metode, ada metode yang setara ResolveAsync . Daftar parameter mereka identik, kecuali bahwa metode ResolveAsync menyertakan token sistem untuk penanganan peristiwa asinkron.

Cloud Jika parameter adalah null, PeerNameResolver menggunakan Available pintasan untuk mengisi Name, , Scopedan ScopeId.

Peristiwa ResolveCompleted akan dinaikkan jika operasi penyelesaian selesai dalam kesalahan atau dibatalkan.

Berlaku untuk