IChannel.ChannelPriority プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
チャネルの優先順位を取得します。
public:
property int ChannelPriority { int get(); };
public int ChannelPriority { get; }
public int ChannelPriority { [System.Security.SecurityCritical] get; }
member this.ChannelPriority : int
[<get: System.Security.SecurityCritical>]
member this.ChannelPriority : int
Public ReadOnly Property ChannelPriority As Integer
プロパティ値
チャネルの優先順位を示す整数。
- 属性
例外
直前の呼び出し元に、インフラストラクチャ アクセス許可がありません。
例
// Creating the 'IDictionary' to set the server object properties.
IDictionary^ myDictionary = gcnew Hashtable;
myDictionary[ "name" ] = "HttpClientChannel";
myDictionary[ "priority" ] = 2;
// Set the properties along with the constructor.
HttpClientChannel^ myHttpClientChannel = gcnew HttpClientChannel( myDictionary,gcnew BinaryClientFormatterSinkProvider );
// Register the server channel.
ChannelServices::RegisterChannel( myHttpClientChannel );
MyHelloServer ^ myHelloServer1 = dynamic_cast<MyHelloServer^>(Activator::GetObject( MyHelloServer::typeid, "http://localhost:8085/SayHello" ));
if ( myHelloServer1 == nullptr )
System::Console::WriteLine( "Could not locate server" );
else
{
Console::WriteLine( myHelloServer1->myHelloMethod( "Client" ) );
// Get the name of the channel.
Console::WriteLine( "Channel Name :{0}", myHttpClientChannel->ChannelName );
// Get the channel priority.
Console::WriteLine( "ChannelPriority :{0}", myHttpClientChannel->ChannelPriority );
String^ myString;
String^ myObjectURI1;
Console::WriteLine( "Parse :{0}{1}", myHttpClientChannel->Parse( "http://localhost:8085/SayHello", myString ), myString );
// Get the key count.
System::Console::WriteLine( "Keys->Count : {0}", myHttpClientChannel->Keys->Count );
// Get the channel message sink that delivers message to the specified url.
IMessageSink^ myIMessageSink = myHttpClientChannel->CreateMessageSink( "http://localhost:8085/NewEndPoint", nullptr, myObjectURI1 );
Console::WriteLine( "The channel message sink that delivers the messages to the URL is : {0}", myIMessageSink );
Console::WriteLine( "URI of the new channel message sink is: {0}", myObjectURI1 );
}
// Creating the 'IDictionary' to set the server object properties.
IDictionary myDictionary = new Hashtable();
myDictionary["name"]="HttpClientChannel";
myDictionary["priority"]=2;
// Set the properties along with the constructor.
HttpClientChannel myHttpClientChannel =
new HttpClientChannel(myDictionary,new BinaryClientFormatterSinkProvider());
// Register the server channel.
ChannelServices.RegisterChannel(myHttpClientChannel);
MyHelloServer myHelloServer1 = (MyHelloServer)Activator.GetObject(
typeof(MyHelloServer), "http://localhost:8085/SayHello");
if (myHelloServer1 == null)
{
System.Console.WriteLine("Could not locate server");
}
else
{
Console.WriteLine(myHelloServer1.myHelloMethod("Client"));
// Get the name of the channel.
Console.WriteLine("Channel Name :"+myHttpClientChannel.ChannelName);
// Get the channel priority.
Console.WriteLine("ChannelPriority :"+myHttpClientChannel.ChannelPriority.ToString());
string myString,myObjectURI1;
Console.WriteLine("Parse :" +
myHttpClientChannel.Parse("http://localhost:8085/SayHello",out myString)+myString);
// Get the key count.
System.Console.WriteLine("Keys.Count : " + myHttpClientChannel.Keys.Count);
// Get the channel message sink that delivers message to the specified url.
IMessageSink myIMessageSink =
myHttpClientChannel.CreateMessageSink("http://localhost:8085/NewEndPoint",
null,out myObjectURI1);
Console.WriteLine("The channel message sink that delivers the messages to the URL is : "
+myIMessageSink.ToString());
Console.WriteLine("URI of the new channel message sink is: " +myObjectURI1);
}
' Creating the 'IDictionary' to set the server object properties.
Dim myDictionary As New Hashtable()
myDictionary("name") = "HttpClientChannel"
myDictionary("priority") = 2
' Set the properties along with the constructor.
Dim myHttpClientChannel As New _
HttpClientChannel( myDictionary, New BinaryClientFormatterSinkProvider)
' Register the server channel.
ChannelServices.RegisterChannel(myHttpClientChannel)
Dim myHelloServer1 As MyHelloServer = CType(Activator.GetObject(GetType(MyHelloServer), _
"http://localhost:8085/SayHello"), MyHelloServer)
If myHelloServer1 Is Nothing Then
System.Console.WriteLine("Could not locate server")
Else
Console.WriteLine(myHelloServer1.myHelloMethod("Client"))
' Get the name of the channel.
Console.WriteLine("Channel Name :" + myHttpClientChannel.ChannelName)
' Get the channel priority.
Console.WriteLine("ChannelPriority :" + myHttpClientChannel.ChannelPriority.ToString())
Dim myString, myObjectURI1 As String
Console.WriteLine("Parse :" + _
myHttpClientChannel.Parse("http://localhost:8085/SayHello", myString) + myString)
' Get the key count.
System.Console.WriteLine("Keys.Count : " + myHttpClientChannel.Keys.Count.ToString())
' Get the channel message sink that delivers message to the specified url.
Dim myIMessageSink As IMessageSink =myHttpClientChannel.CreateMessageSink( _
"http://localhost:8085/NewEndPoint", Nothing, myObjectURI1)
Console.WriteLine("The channel message sink that delivers the messages to the URL is :" + _
CType(myIMessageSink, Object).ToString)
Console.WriteLine("URI of the new channel message sink is: " + myObjectURI1)
End If
注釈
数値が大きいほど優先度が高いことを示します。そのため、優先度が 50 のチャネルは、優先度 25 のチャネルよりも高い優先順位を持ちます。 クロス アプリケーション ドメイン チャネルの優先度は 100 です。
優先順位の高いクライアント チャネルには、URL または から特定のチャネル データ エントリで指定されたリモート オブジェクトに最初に接続する機会が ObjRef与えられます。
サーバー チャネルの場合、優先順位は、チャネル データが に ObjRef表示される順序を示します。これは、クライアントがサーバー オブジェクトに接続しようとする順序に影響します。 サーバーが優先度 50 の HTTP チャネルと優先順位 25 の TCP チャネルでリッスンしていて、クライアントが HTTP チャネルと TCP チャネルの両方を登録している場合、クライアントは HTTP チャネルを使用してサーバーと通信します。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET