PeerNameResolver.Resolve メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
PNRP プロトコルを使用して、PeerName オブジェクトを PeerNameRecord に解決します。
オーバーロード
Resolve(PeerName) |
呼び出し元のピアに認識されているすべてのクラウド内で、指定した PeerName を解決します。 |
Resolve(PeerName, Int32) |
呼び出し元のピアに認識されているすべてのクラウド内で、指定したピア名を解決し、指定した数以下の PeerNameRecord オブジェクトを返します。 |
Resolve(PeerName, Cloud) | |
Resolve(PeerName, Cloud, Int32) |
指定した PeerName 内で、指定した Cloud を解決し、指定した数以下の PeerNameRecord オブジェクトを返します。 |
注釈
このメソッドは、ピア名をクラウドに関連付けます。 メソッドの PeerNameResolver 呼び出しは、 内の Resolve ピア名レコードごとに メソッドを呼び出すのと PeerNameRecordCollection似ています。 個々のピア名レコードで Resolve メソッドを使用しても、複数のピア名の解決は無効にならないことに注意してください。
すべての Resolve メソッドに対して、同等 ResolveAsync のメソッドがあります。 ResolveAsync メソッドのパラメーター リストに非同期イベント処理用のシステム トークンが含まれていることを除き、渡されるパラメーターでは同じです。
パラメーターが Cloud 指定されていない場合、メソッドは ショートカットを Available 使用してクラウド パラメーターを入力します。 パラメーターがない maxRecords
場合、既定値が 0 の場合、 ArgumentOutOfRangeException 例外がスローされます。
このイベントは、解決操作がエラーで完了した場合、または取り消された場合にも発生します。
Resolve(PeerName)
呼び出し元のピアに認識されているすべてのクラウド内で、指定した PeerName を解決します。
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
パラメーター
戻り値
指定したピア名に関連付けられているすべての (PeerNameRecordCollection オブジェクトとして表される) ピア名レコードを格納している PeerNameRecord。 セキュリティ保護されていないピア名の場合、同じ PeerName 内の複数のユーザーが、同じ Cloud を登録して別々のエンドポイントに関連付けることができます。
例外
peerName
パラメーターを null
に設定します。
指定したピア名は解決できません。
例
次のコード例は、 でCloud発行された をPeerName解決する方法を示しています。
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);
}
}
}
注釈
このメソッドは、ピア名をクラウドに関連付けます。 すべてのクラウドに 対して クエリが実行 PeerNameされます。 ピア名を解決できない場合、または が である場合は null
、 PeerToPeerException がスローされます。
セキュリティで保護されていないピア名の場合、同じ名前を同じクラウド内の異なるピアによって登録 (および異なるエンドポイントに関連付けることができます)。
メソッドの PeerNameResolver 呼び出しは、 内の Resolve ピア名レコードごとに メソッドを呼び出すのと PeerNameRecordCollection似ています。 個々のピア名レコードで Resolve メソッドを使用しても、複数のピア名の解決は無効にならないことに注意してください。
すべての Resolve メソッドに対して、同等 ResolveAsync のメソッドがあります。 パラメーター リストは同じですが、ResolveAsync メソッドには非同期イベント処理用のシステム トークンが含まれている点が異なります。
パラメーターが Cloud 指定されていない場合、メソッドは ショートカットを Available 使用してクラウド パラメーターを入力します。
解決 ResolveCompleted 操作がエラーで完了した場合、または取り消された場合、イベントが発生します。
こちらもご覧ください
適用対象
Resolve(PeerName, Int32)
呼び出し元のピアに認識されているすべてのクラウド内で、指定したピア名を解決し、指定した数以下の PeerNameRecord オブジェクトを返します。
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
パラメーター
- maxRecords
- Int32
指定した peerName
に対してすべての PeerNameRecord オブジェクトから取得する Cloud オブジェクトの最大数。
戻り値
サイズが maxRecords
エントリ以下の PeerNameRecordCollection。 このコレクションには、解決された PeerName に関連付けられているピア名レコードが含まれます。
例外
peerName
パラメーターを null
に設定します。
maxRecords
パラメーターが 0 以下です。
指定したピア名は解決できません。
注釈
このメソッドは、ピア名をクラウドに関連付けます。 すべてのクラウドに対してピア名のクエリが実行されます。 セキュリティで保護されていないピア名の場合、同じ ピア名を同じ Cloudに異なるユーザーが登録し、異なるエンドポイントに関連付けることができます。 を PeerName 解決できない場合 (ピア名が発行されていない場合など)、 PeerToPeerException がスローされます。
すべての Resolve メソッドに対して、同等 ResolveAsync のメソッドがあります。 パラメーター リストは同じですが、ResolveAsync メソッドには非同期イベント処理用のシステム トークンが含まれている点が異なります。
解決 ResolveCompleted 操作がエラーで完了した場合、または取り消された場合、イベントが発生します。
適用対象
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
パラメーター
戻り値
指定したピア名に関連付けられているすべての (PeerNameRecordCollection オブジェクトとして表される) ピア名レコードを格納している PeerNameRecord。 セキュリティ保護されていないピア名の場合、同じ PeerName 内の複数のユーザーが、同じ Cloud を登録して別々のエンドポイントに関連付けることができます。
例外
peerName
パラメーターを null
に設定します。
指定したピア名は解決できません。
注釈
を PeerName 解決できない場合 (つまり、ピア名は発行されません)、 PeerToPeerException がスローされます。
セキュリティで保護されていないピア名の場合、同じ名前を同じクラウド内の異なるピアによって登録 (および異なるエンドポイントに関連付けることができます)。
すべての Resolve メソッドに対して、同等 ResolveAsync のメソッドがあります。 パラメーター リストは同じですが、ResolveAsync メソッドには非同期イベント処理用のシステム トークンが含まれている点が異なります。
パラメーターが のCloud場合、 PeerNameResolver はnull
ショートカットをAvailable使用して、、Scope、および ScopeIdをName入力します。
解決 ResolveCompleted 操作がエラーで完了した場合、または取り消された場合、イベントが発生します。
適用対象
Resolve(PeerName, Cloud, Int32)
指定した PeerName 内で、指定した Cloud を解決し、指定した数以下の PeerNameRecord オブジェクトを返します。
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
パラメーター
- maxRecords
- Int32
指定した peerName
に対して、指定したクラウドから取得するピア名レコード オブジェクトの最大数。
戻り値
サイズが maxRecords
エントリ以下の PeerNameRecordCollection。 このコレクションには、解決された PeerName に関連付けられているピア名レコードが含まれます。
- 属性
例外
peerName
パラメーターを null
に設定します。
maxRecords
パラメーターが 0 以下です。
指定したピア名は解決できません。
注釈
セキュリティで保護されていないピア名の場合、同じ名前を同じクラウド内の異なるピアによって登録 (および異なるエンドポイントに関連付けることができます)。 ピア名を解決できない場合は、 PeerToPeerException がスローされます。
すべての Resolve メソッドに対して、同等 ResolveAsync のメソッドがあります。 パラメーター リストは同じですが、ResolveAsync メソッドには非同期イベント処理用のシステム トークンが含まれている点が異なります。
パラメーターが のCloud場合、 PeerNameResolver はnull
ショートカットをAvailable使用して、、Scope、および ScopeIdをName入力します。
解決 ResolveCompleted 操作がエラーで完了した場合、または取り消された場合、イベントが発生します。
適用対象
.NET