ActivatedServiceTypeEntry Klass

Definition

Innehåller värden för en objekttyp som registrerats i tjänstslutet som en som kan aktiveras vid begäran från en klient.

public ref class ActivatedServiceTypeEntry : System::Runtime::Remoting::TypeEntry
public class ActivatedServiceTypeEntry : System.Runtime.Remoting.TypeEntry
[System.Runtime.InteropServices.ComVisible(true)]
public class ActivatedServiceTypeEntry : System.Runtime.Remoting.TypeEntry
type ActivatedServiceTypeEntry = class
    inherit TypeEntry
[<System.Runtime.InteropServices.ComVisible(true)>]
type ActivatedServiceTypeEntry = class
    inherit TypeEntry
Public Class ActivatedServiceTypeEntry
Inherits TypeEntry
Arv
ActivatedServiceTypeEntry
Attribut

Exempel

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

using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels;
using namespace System::Runtime::Remoting::Channels::Tcp;
void main()
{
   ChannelServices::RegisterChannel( gcnew TcpChannel( 8082 ) );
   
   // Create an instance of 'ActivatedServiceTypeEntry' class
   // which holds the values for 'HelloServer' type.
   ActivatedServiceTypeEntry^ myActivatedServiceTypeEntry =
      gcnew ActivatedServiceTypeEntry( HelloServer::typeid );
   
   // Register an object Type on the service end so that 
   // it can be activated on request from a client.
   RemotingConfiguration::RegisterActivatedServiceType(
      myActivatedServiceTypeEntry );
   
   // Get the registered activated service types.
   array<ActivatedServiceTypeEntry^>^ activatedServiceEntries =
      RemotingConfiguration::GetRegisteredActivatedServiceTypes();
   Console::WriteLine( "Information of first registered activated" +
     " service type :" );
   Console::WriteLine( "Object type: {0}",
      activatedServiceEntries[ 0 ]->ObjectType->ToString() );
   Console::WriteLine( "Description: {0}",
      activatedServiceEntries[ 0 ]->ToString() );

   Console::WriteLine( "Press enter to stop this process" );
   Console::ReadLine();
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;

public class MyClient
{
   public static void Main()
   {
      ChannelServices.RegisterChannel(new TcpChannel(8082));
      // Create an instance of 'ActivatedServiceTypeEntry' class
      // which holds the values for 'HelloServer' type.
      ActivatedServiceTypeEntry myActivatedServiceTypeEntry =
                   new ActivatedServiceTypeEntry(typeof(HelloServer));
      // Register an object Type on the service end so that
      // it can be activated on request from a client.
      RemotingConfiguration.RegisterActivatedServiceType(
                                         myActivatedServiceTypeEntry);
      // Get the registered activated service types .
      ActivatedServiceTypeEntry[] myActivatedServiceEntries =
          RemotingConfiguration.GetRegisteredActivatedServiceTypes();
      Console.WriteLine("Information of first registered activated "
                             +" service type :");
      Console.WriteLine("Object type: "
                       +myActivatedServiceEntries[0].ObjectType);
      Console.WriteLine("Description: "
                           +myActivatedServiceEntries[0].ToString());
      Console.WriteLine("Press enter to stop this process");
      Console.ReadLine();
   }
}
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.Tcp

Public Class MyClient
   
   Public Shared Sub Main()
      ChannelServices.RegisterChannel(New TcpChannel(8082))
      ' Create an instance of 'ActivatedServiceTypeEntry' class
      ' which holds the values for 'HelloServer' type.
      Dim myActivatedServiceTypeEntry As New ActivatedServiceTypeEntry(GetType(HelloServer))
      ' Register an object Type on the service end so that 
      ' it can be activated on request from a client.
      RemotingConfiguration.RegisterActivatedServiceType(myActivatedServiceTypeEntry)
      ' Get the registered activated service types .
      Dim myActivatedServiceEntries As ActivatedServiceTypeEntry() = RemotingConfiguration. _
                                                         GetRegisteredActivatedServiceTypes()
      Console.WriteLine("Information of first registered activated " + " service type :")
      Console.WriteLine("Object type: " + myActivatedServiceEntries(0).ObjectType.ToString())
      Console.WriteLine("Description: " + myActivatedServiceEntries(0).ToString())
      Console.WriteLine("Press enter to stop this process")
      Console.ReadLine()
   End Sub
End Class

Kommentarer

Den aktuella klassen används av RemotingConfiguration.RegisterActivatedServiceType metoden, som är metodens motsvarighet RemotingConfiguration.RegisterActivatedClientType på serversidan. Metoden RegisterActivatedServiceType används på servern för att tillåta fjärraktivering av klienter av angivna objekttyper.

Om du vill skapa ett klientaktiverat objekt på servern måste du känna till dess Type, och det måste vara registrerat på serverdelen med hjälp RegisterActivatedServiceType av metoden . För att få en proxy för ett nytt klientaktiverat objekt måste klienten först registrera en kanal med ChannelServices och sedan aktivera objektet genom att anropa new eller Activator.CreateInstance.

Om du vill aktivera en klientaktiverad objekttyp med nyckelordet new måste du först registrera objekttypen på klienten med hjälp av RegisterActivatedClientType -metoden. Genom att anropa RegisterActivatedClientType ger du fjärrkommunikationsinfrastrukturen platsen för fjärrprogrammet där new du försöker skapa den. Om du å andra sidan använder CreateInstance metoden för att skapa en ny instans av det klientaktiverade objektet måste du ange fjärrprogrammets URL som en parameter, så ingen tidigare registrering på klienten krävs. Om du vill ange CreateInstance metoden med URL:en för den server där du vill skapa objektet måste du kapsla in URL:en i en instans av UrlAttribute klassen.

En detaljerad beskrivning av klientaktiverade objekt och aktivering av fjärrobjekt finns i Aktivering av fjärrobjekt.

Konstruktorer

Name Description
ActivatedServiceTypeEntry(String, String)

Initierar en ny instans av ActivatedServiceTypeEntry klassen med det angivna typnamnet och sammansättningsnamnet.

ActivatedServiceTypeEntry(Type)

Initierar en ny instans av ActivatedServiceTypeEntry klassen med angiven Type.

Egenskaper

Name Description
AssemblyName

Hämtar sammansättningsnamnet för den objekttyp som har konfigurerats för att vara en fjärraktiverad typ.

(Ärvd från TypeEntry)
ContextAttributes

Hämtar eller anger kontextattributen för den klientaktiverade tjänsttypen.

ObjectType

Hämtar den Type klientaktiverade tjänsttypen.

TypeName

Hämtar det fullständiga typnamnet för den objekttyp som har konfigurerats för att vara en fjärraktiverad typ.

(Ärvd från TypeEntry)

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar typen och sammansättningsnamnet för den klientaktiverade tjänsttypen som en String.

Gäller för

Se även