ActivatedServiceTypeEntry Classe

Definizione

Contiene i valori di un tipo di oggetto registrato sul lato servizio come tipo attivabile su richiesta da un client.

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
Ereditarietà
ActivatedServiceTypeEntry
Attributi

Esempio

#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

Commenti

La classe corrente viene usata dal RemotingConfiguration.RegisterActivatedServiceType metodo, ovvero la controparte lato server del RemotingConfiguration.RegisterActivatedClientType metodo. Il RegisterActivatedServiceType metodo viene usato nel server per consentire l'attivazione remota da parte dei client di tipi di oggetti specificati.

Per creare un oggetto attivato dal client nel server, è necessario conoscere Typeil relativo e deve essere registrato sul server finale usando il RegisterActivatedServiceType metodo . Per ottenere un proxy per un nuovo oggetto attivato dal client, il client deve prima registrare un canale con ChannelServices e quindi attivare l'oggetto chiamando new o Activator.CreateInstance.

Per attivare un tipo di oggetto attivato dal client con la new parola chiave, è prima necessario registrare il tipo di oggetto nel client usando il RegisterActivatedClientType metodo . RegisterActivatedClientType Chiamando si assegna all'infrastruttura remota la posizione dell'applicazione remota in cui new si tenta di crearla. Se, invece, si usa il metodo per creare una nuova istanza dell'oggetto attivato dal client, è necessario specificare l'URL CreateInstance dell'applicazione remota come parametro, quindi non è necessaria alcuna registrazione precedente nel client. Per specificare il CreateInstance metodo con l'URL del server in cui si vuole creare l'oggetto, è necessario incapsulare l'URL in un'istanza della UrlAttribute classe.

Per una descrizione dettagliata degli oggetti attivati dal client e dell'attivazione di oggetti remoti, vedere Attivazione di oggetti remoti.

Costruttori

ActivatedServiceTypeEntry(String, String)

Inizializza una nuova istanza della classe ActivatedServiceTypeEntry con il nome del tipo e dell'assembly specificati.

ActivatedServiceTypeEntry(Type)

Inizializza una nuova istanza della classe ActivatedServiceTypeEntry con l'oggetto Type specificato.

Proprietà

AssemblyName

Ottiene il nome dell'assembly del tipo di oggetto configurato per essere un tipo ad attivazione remota.

(Ereditato da TypeEntry)
ContextAttributes

Ottiene o imposta gli attributi del contesto per il tipo di servizio attivato dal client.

ObjectType

Ottiene l'oggetto Type del tipo di servizio attivato dal client.

TypeName

Ottiene il nome completo del tipo di oggetto configurato per essere un tipo ad attivazione remota.

(Ereditato da TypeEntry)

Metodi

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
ToString()

Restituisce il nome del tipo e il nome dell'assembly del tipo di servizio attivato dal client come oggetto String.

Si applica a

Vedi anche