RemotingConfiguration.RegisterWellKnownClientType Metodo
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.
Registra un oggetto Type sul lato client come tipo noto (a chiamata singola o Singleton).
Overload
RegisterWellKnownClientType(WellKnownClientTypeEntry) |
Registra un oggetto Type registrato nell'oggetto WellKnownClientTypeEntry fornito sul lato client come tipo noto e attivabile sul server. |
RegisterWellKnownClientType(Type, String) |
Registra un oggetto Type sul lato client come tipo noto attivabile sul server utilizzando i parametri specificati per inizializzare una nuova istanza della classe WellKnownClientTypeEntry. |
RegisterWellKnownClientType(WellKnownClientTypeEntry)
Registra un oggetto Type registrato nell'oggetto WellKnownClientTypeEntry fornito sul lato client come tipo noto e attivabile sul server.
public:
static void RegisterWellKnownClientType(System::Runtime::Remoting::WellKnownClientTypeEntry ^ entry);
public static void RegisterWellKnownClientType (System.Runtime.Remoting.WellKnownClientTypeEntry entry);
static member RegisterWellKnownClientType : System.Runtime.Remoting.WellKnownClientTypeEntry -> unit
Public Shared Sub RegisterWellKnownClientType (entry As WellKnownClientTypeEntry)
Parametri
- entry
- WellKnownClientTypeEntry
Impostazioni di configurazione per il tipo noto.
Eccezioni
Almeno uno dei chiamanti in posizione più elevata nello stack di chiamate non dispone delle autorizzazioni alla configurazione di canali e tipi remoti.
Commenti
Qualsiasi client che conosce l'URI di un oggetto noto registrato può ottenere un proxy per l'oggetto registrando il canale che preferisce con ChannelServicese attivando l'oggetto chiamando new
o Activator.GetObject. Per attivare un oggetto noto con new
, è innanzitutto necessario registrare il tipo di oggetto noto nel client usando il RegisterWellKnownClientType metodo . La chiamata al metodo fornisce all'infrastruttura RegisterWellKnownClientType remota la posizione dell'oggetto remoto, che consente alla new
parola chiave di crearla. Se invece si usa il Activator.GetObject metodo per attivare l'oggetto noto, è necessario specificarlo con l'URL dell'oggetto come argomento, quindi non è necessaria alcuna registrazione precedente sul lato client.
Per una descrizione dettagliata degli oggetti noti, vedere Attivazione del server.
Vedi anche
Si applica a
RegisterWellKnownClientType(Type, String)
Registra un oggetto Type sul lato client come tipo noto attivabile sul server utilizzando i parametri specificati per inizializzare una nuova istanza della classe WellKnownClientTypeEntry.
public:
static void RegisterWellKnownClientType(Type ^ type, System::String ^ objectUrl);
public static void RegisterWellKnownClientType (Type type, string objectUrl);
static member RegisterWellKnownClientType : Type * string -> unit
Public Shared Sub RegisterWellKnownClientType (type As Type, objectUrl As String)
Parametri
- objectUrl
- String
URL di un oggetto del client noto.
Eccezioni
Almeno uno dei chiamanti in posizione più elevata nello stack di chiamate non dispone delle autorizzazioni alla configurazione di canali e tipi remoti.
Esempio
Nell'esempio di codice seguente viene illustrata la registrazione di un tipo di oggetto sul lato client come tipo noto. Per il codice del server corrispondente al codice client presentato, vedere l'esempio per il RegisterWellKnownServiceType metodo .
#using <system.dll>
#using <system.runtime.remoting.dll>
#using "service.dll"
using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels::Tcp;
using namespace System::Runtime::Remoting::Channels;
int main()
{
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Channels;
public class ClientClass {
public static void Main() {
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels.Tcp
Imports System.Runtime.Remoting.Channels
Public Class ClientClass
Public Shared Sub Main()
ChannelServices::RegisterChannel( gcnew TcpChannel );
RemotingConfiguration::RegisterWellKnownClientType( HelloService::typeid,
"tcp://localhost:8082/HelloServiceApplication/MyUri" );
HelloService ^ service = gcnew HelloService;
ChannelServices.RegisterChannel(new TcpChannel());
RemotingConfiguration.RegisterWellKnownClientType(
typeof(HelloService),
"tcp://localhost:8082/HelloServiceApplication/MyUri"
);
HelloService service = new HelloService();
ChannelServices.RegisterChannel(New TcpChannel())
RemotingConfiguration.RegisterWellKnownClientType(GetType(HelloService), "tcp://localhost:8082/HelloServiceApplication/MyUri")
Dim service As New HelloService()
if ( service == nullptr )
{
Console::WriteLine( "Could not locate server." );
return -1;
}
// Calls the remote method.
Console::WriteLine();
Console::WriteLine( "Calling remote Object*" );
Console::WriteLine( service->HelloMethod( "Caveman" ) );
Console::WriteLine( service->HelloMethod( "Spaceman" ) );
Console::WriteLine( service->HelloMethod( "Client Man" ) );
Console::WriteLine( "Finished remote Object* call" );
Console::WriteLine();
return 0;
}
if(service == null) {
Console.WriteLine("Could not locate server.");
return;
}
// Calls the remote method.
Console.WriteLine();
Console.WriteLine("Calling remote object");
Console.WriteLine(service.HelloMethod("Caveman"));
Console.WriteLine(service.HelloMethod("Spaceman"));
Console.WriteLine(service.HelloMethod("Client Man"));
Console.WriteLine("Finished remote object call");
Console.WriteLine();
}
}
If service Is Nothing Then
Console.WriteLine("Could not locate server.")
Return
End If
' Calls the remote method.
Console.WriteLine()
Console.WriteLine("Calling remote object")
Console.WriteLine(service.HelloMethod("Caveman"))
Console.WriteLine(service.HelloMethod("Spaceman"))
Console.WriteLine(service.HelloMethod("Client Man"))
Console.WriteLine("Finished remote object call")
Console.WriteLine()
End Sub
End Class
Commenti
Qualsiasi client che conosce l'URI di un oggetto noto registrato può ottenere un proxy per l'oggetto registrando il canale che preferisce con ChannelServicese attivando l'oggetto chiamando new
o Activator.GetObject. Per attivare un oggetto noto con new
, è innanzitutto necessario registrare il tipo di oggetto noto nel client usando il RegisterWellKnownClientType metodo . La chiamata al metodo fornisce all'infrastruttura RegisterWellKnownClientType remota la posizione dell'oggetto remoto, che consente alla new
parola chiave di crearla. Se invece si usa il Activator.GetObject metodo per attivare l'oggetto noto, è necessario specificarlo con l'URL dell'oggetto come argomento, quindi non è necessaria alcuna registrazione precedente sul lato client.
Per una descrizione dettagliata degli oggetti noti, vedere Attivazione del server.