WellKnownServiceTypeEntry Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Contiene i valori per un tipo di oggetto registrato sul lato servizio come tipo di oggetto attivato dal server (a chiamata singola o Singleton).
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
- Ereditarietà
- Attributi
Esempio
#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
Commenti
I tipi di oggetto attivati dal server possono essere una singola chiamata o singleton. Se un tipo di oggetto è una singola chiamata, viene creata una nuova istanza di ogni volta che arriva una chiamata dal client. Tutte le chiamate a un oggetto singleton vengono gestite da un'istanza di tale oggetto.
Qualsiasi client che conosce l'URI di questo oggetto può ottenere un proxy per questo oggetto registrando il canale con cui preferisce ChannelServices e attivando l'oggetto chiamando new
o Activator.GetObject.
È importante notare che l'oggetto remoto stesso non viene creato dal processo di registrazione. Ciò si verifica solo quando un client tenta di chiamare un metodo sull'oggetto o attiva l'oggetto dal lato client.
Per una descrizione più dettagliata degli oggetti attivati dal server e dell'attivazione di oggetti remoti, vedere Attivazione di oggetti remoti.
Costruttori
WellKnownServiceTypeEntry(String, String, String, WellKnownObjectMode) |
Inizializza una nuova istanza della classe WellKnownServiceTypeEntry con il nome del tipo, il nome dell'assembly, l'URI dell'oggetto e l'oggetto WellKnownObjectMode specificati. |
WellKnownServiceTypeEntry(Type, String, WellKnownObjectMode) |
Inizializza una nuova istanza della classe WellKnownServiceTypeEntry con il Type, l'URI dell'oggetto e l'oggetto WellKnownObjectMode specificati. |
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 server. |
Mode |
Ottiene l'enumerazione WellKnownObjectMode del tipo di servizio attivato dal server. |
ObjectType |
Ottiene l'enumerazione Type del tipo di servizio attivato dal server. |
ObjectUri |
Ottiene l'URI del tipo di servizio noto. |
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, il nome dell'assembly, l'URI dell'oggetto e l'enumerazione WellKnownObjectMode del tipo attivato dal server come classe String. |