IChannel.ChannelPriority プロパティ
アセンブリ: mscorlib (mscorlib.dll 内)



数字が大きくなるにつれて優先順位が高くなります。つまり、優先順位 50 のチャネルの方が、優先順位 25 のチャネルより優先順位が高くなります。クロス アプリケーション ドメイン チャネルの優先順位は 100 です。
高い優先順位を持つクライアント チャネルには、URL で指定されたリモート オブジェクトまたは ObjRef の特定のチャネル データ エントリに最初に接続する機会が与えられます。
サーバー チャネルの場合、優先順位はチャネル データが ObjRef に表示される順序を示します。このことは、クライアントがサーバー オブジェクトへの接続を試みる順序に影響を与えます。サーバーが優先順位 50 の HTTP チャネルと優先順位 25 の TCP チャネルで待機しており、クライアントが HTTP チャネルと TCP チャネルの両方を登録した場合、クライアントは HTTP チャネルを使用してサーバーと通信します。

' 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
// 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. 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 ); }


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- IChannel.ChannelPriority プロパティのページへのリンク