Share via


WellKnownServiceTypeEntry Sınıf

Tanım

Hizmet ucunda sunucu tarafından etkinleştirilmiş tür nesnesi (tek çağrı veya tekil) olarak kaydedilmiş bir nesne türünün değerlerini tutar.

public ref class WellKnownServiceTypeEntry : System::Runtime::Remoting::TypeEntry
public class WellKnownServiceTypeEntry : System.Runtime.Remoting.TypeEntry
[System.Runtime.InteropServices.ComVisible(true)]
public class WellKnownServiceTypeEntry : System.Runtime.Remoting.TypeEntry
type WellKnownServiceTypeEntry = class
    inherit TypeEntry
[<System.Runtime.InteropServices.ComVisible(true)>]
type WellKnownServiceTypeEntry = class
    inherit TypeEntry
Public Class WellKnownServiceTypeEntry
Inherits TypeEntry
Devralma
WellKnownServiceTypeEntry
Öznitelikler

Örnekler

#using <System.Runtime.Remoting.dll>
#using <System.dll>
#using <WellKnownServiceTypeEntry_Share.dll>

using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels;
using namespace System::Runtime::Remoting::Channels::Http;

int main()
{
   // Create a 'HttpChannel' object and register it with the 
   // channel services.
   ChannelServices::RegisterChannel( gcnew HttpChannel( 8086 ) );

   // Record the 'HelloServer' type as 'Singleton' well-known type.
   WellKnownServiceTypeEntry^ myWellKnownServiceTypeEntry = gcnew WellKnownServiceTypeEntry( HelloServer::typeid,"SayHello",WellKnownObjectMode::Singleton );

   // Register the remote object as well-known type.
   RemotingConfiguration::RegisterWellKnownServiceType( myWellKnownServiceTypeEntry );

   // Retrieve object types registered on the service end 
   // as well-known types.
   array<WellKnownServiceTypeEntry^>^myWellKnownServiceTypeEntryCollection = RemotingConfiguration::GetRegisteredWellKnownServiceTypes();
   Console::WriteLine( "The 'WellKnownObjectMode' of the remote object : {0}", myWellKnownServiceTypeEntryCollection[ 0 ]->Mode );
   Console::WriteLine( "The 'WellKnownServiceTypeEntry' object: {0}", myWellKnownServiceTypeEntryCollection[ 0 ] );
   Console::WriteLine( "Started the Server, Hit <enter> to exit..." );
   Console::ReadLine();
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;

public class MyServer 
{
   public static void Main() 
   {
      // Create a 'HttpChannel' object and register it with the 
      // channel services.
      ChannelServices.RegisterChannel(new HttpChannel(8086));
      // Record the 'HelloServer' type as 'Singleton' well-known type.
      WellKnownServiceTypeEntry myWellKnownServiceTypeEntry= 
          new WellKnownServiceTypeEntry(typeof(HelloServer),
                                        "SayHello",
                                        WellKnownObjectMode.Singleton);
      // Register the remote object as well-known type.
      RemotingConfiguration.RegisterWellKnownServiceType(
                                          myWellKnownServiceTypeEntry);
      // Retrieve object types registered on the service end 
      // as well-known types.
      WellKnownServiceTypeEntry [] myWellKnownServiceTypeEntryCollection = 
            RemotingConfiguration.GetRegisteredWellKnownServiceTypes();
      Console.WriteLine("The 'WellKnownObjectMode' of the remote object : "
                       +myWellKnownServiceTypeEntryCollection[0].Mode);
      Console.WriteLine("The 'WellKnownServiceTypeEntry' object: "+
                  myWellKnownServiceTypeEntryCollection[0].ToString());
      Console.WriteLine("Started the Server, Hit <enter> to exit...");
      Console.ReadLine();
   }
}
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.Http

Public Class MyServer
   
   Public Shared Sub Main()
      ' Create a 'HttpChannel' object and register it with the 
      ' channel services.
      ChannelServices.RegisterChannel(New HttpChannel(8086))
      ' Record the 'HelloServer' type as 'Singleton' well-known type.
      Dim myWellKnownServiceTypeEntry As New WellKnownServiceTypeEntry(GetType(HelloServer), _ 
                                                 "SayHello", WellKnownObjectMode.Singleton)
      ' Register the remote object as well-known type.
      RemotingConfiguration.RegisterWellKnownServiceType(myWellKnownServiceTypeEntry)
      ' Retrieve object types registered on the service end 
      ' as well-known types.
      Dim myWellKnownServiceTypeEntryCollection As WellKnownServiceTypeEntry() = _ 
                                      RemotingConfiguration.GetRegisteredWellKnownServiceTypes()
      Console.WriteLine("The 'WellKnownObjectMode' of the remote object : " + _
                                        myWellKnownServiceTypeEntryCollection(0).Mode.ToString())
      Console.WriteLine("The 'WellKnownServiceTypeEntry' object: " + _ 
                                             myWellKnownServiceTypeEntryCollection(0).ToString())
      Console.WriteLine("Started the Server, Hit <enter> to exit...")
      Console.ReadLine()
   End Sub
End Class

Açıklamalar

Sunucu tarafından etkinleştirilen nesne türleri tek çağrı veya tekil olabilir. Nesne türü tek bir çağrıysa, istemciden her çağrı geldiğinde yeni bir örneği oluşturulur. Tekil bir nesneye yapılan tüm çağrılar bu nesnenin bir örneği tarafından işlenir.

Bu nesnenin URI'sini bilen herhangi bir istemci, tercih ChannelServices ettiği kanalı kaydederek ve veya Activator.GetObjectçağırarak new nesneyi etkinleştirerek bu nesne için bir proxy alabilir.

Uzak nesnenin kayıt işlemi tarafından oluşturulmadığını unutmayın. Bu yalnızca istemci nesnede bir yöntemi çağırmaya çalıştığında veya nesneyi istemci tarafından etkinleştirdiğinde gerçekleşir.

Sunucu tarafından etkinleştirilen nesnelerin ve uzak nesne etkinleştirmenin daha ayrıntılı bir açıklaması için bkz. Uzak Nesnelerin Etkinleştirilmesi.

Oluşturucular

WellKnownServiceTypeEntry(String, String, String, WellKnownObjectMode)

Verilen tür adı, derleme adı, nesne URI'si ve WellKnownObjectModeile sınıfının yeni bir örneğini WellKnownServiceTypeEntry başlatır.

WellKnownServiceTypeEntry(Type, String, WellKnownObjectMode)

Verilen Type, nesne URI'sini WellKnownServiceTypeEntry ve WellKnownObjectModeile sınıfının yeni bir örneğini başlatır.

Özellikler

AssemblyName

Uzaktan etkinleştirilen bir tür olarak yapılandırılan nesne türünün derleme adını alır.

(Devralındığı yer: TypeEntry)
ContextAttributes

Sunucu tarafından etkinleştirilen hizmet türü için bağlam özniteliklerini alır veya ayarlar.

Mode

WellKnownObjectMode Sunucu tarafından etkinleştirilen hizmet türünün türünü alır.

ObjectType

Type Sunucu tarafından etkinleştirilen hizmet türünün türünü alır.

ObjectUri

İyi bilinen hizmet türünün URI'sini alır.

TypeName

Uzaktan etkinleştirilen bir tür olarak yapılandırılan nesne türünün tam tür adını alır.

(Devralındığı yer: TypeEntry)

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Tür adını, derleme adını, nesne URI'sini WellKnownObjectMode ve sunucu tarafından etkinleştirilen türün türünü olarak Stringdöndürür.

Şunlara uygulanır

Ayrıca bkz.