PeerNameResolver.Resolve Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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 , null
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.
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
- 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)
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
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
- 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.