IChannel.ChannelPriority Özellik

Tanım

Kanalın önceliğini alır.

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

Özellik Değeri

Kanalın önceliğini gösteren tamsayı.

Öznitelikler

Özel durumlar

Hemen çağıranın altyapı izni yok.

Örnekler

// 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

Açıklamalar

Yüksek sayılar yüksek önceliğe işaret eder, bu nedenle önceliği 50 olan bir kanalın önceliği 25 olan kanaldan daha yüksektir. Uygulamalar arası etki alanı kanalının önceliği 100'tür.

Daha yüksek önceliğe sahip istemci kanallarına, url veya belirli bir kanal veri girişi ObjReftarafından belirtilen uzak bir nesneye bağlanmak için ilk şans verilir.

Sunucu kanalları için öncelik, kanal verilerinin içinde ObjRefgörüntülendiği sırayı belirtir ve bu da istemcilerin sunucu nesnesine bağlanmaya çalışacağı sırayı etkiler. Sunucu, 50 öncelikli bir HTTP kanalında ve 25 numaralı bir TCP kanalında dinliyorsa ve istemci hem HTTP hem de TCP kanalı kaydettiyse, istemci sunucuyla konuşmak için HTTP kanalını kullanır.

Şunlara uygulanır

Ayrıca bkz.