ActivatedClientTypeEntry Třída

Definice

Obsahuje hodnoty pro typ objektu zaregistrovaný na straně klienta jako typ, který lze aktivovat na serveru.

public class ActivatedClientTypeEntry : System.Runtime.Remoting.TypeEntry
[System.Runtime.InteropServices.ComVisible(true)]
public class ActivatedClientTypeEntry : System.Runtime.Remoting.TypeEntry
Dědičnost
ActivatedClientTypeEntry
Atributy

Příklady

Následující příklad kódu ukazuje, jak použít k registraci vzdáleného objektu ActivatedClientTypeEntry aktivovaného klientem. Příklad obsahuje tři části: klient, server a vzdálený objekt používaný klientem a serverem.

Následující příklad kódu ukazuje klienta:

using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;

public class MyClient
{
    public static void Main()
    {
        // Register TCP Channel.
        ChannelServices.RegisterChannel(new TcpChannel());

        // Create activated client type entry.
        ActivatedClientTypeEntry myActivatedClientTypeEntry =
            new ActivatedClientTypeEntry(typeof(HelloServer),
            "tcp://localhost:8082");

        // Register type on client to activate it on the server.
        RemotingConfiguration.RegisterActivatedClientType(
            myActivatedClientTypeEntry);

        // Activate a client activated object type.
        HelloServer myHelloServer = new HelloServer("ParameterString");

        // Print the object type.
        Console.WriteLine(
            "Object type of client activated object: " +
            myActivatedClientTypeEntry.ObjectType.ToString());

        // Print the application URL.
        Console.WriteLine(
            "Application url where the type is activated: " +
            myActivatedClientTypeEntry.ApplicationUrl);

        // Print the string representation of the type entry.
        Console.WriteLine(
            "Type name, assembly name and application URL " +
            "of the remote object: " +
            myActivatedClientTypeEntry.ToString());

        // Print a blank line.
        Console.WriteLine();

        // Check that server was located.
        if (myHelloServer == null)
        {
            Console.WriteLine("Could not locate server");
        }
        else
        {
            Console.WriteLine("Calling remote object");
            Console.WriteLine(myHelloServer.HelloMethod("Bill"));
        }
    }
}

Následující příklad kódu ukazuje server pro tohoto klienta:

using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;

public class MyServer
{
    public static void Main()
    {
        ChannelServices.RegisterChannel(new TcpChannel(8082));
        RemotingConfiguration.RegisterActivatedServiceType(typeof(HelloServer));
        Console.WriteLine("Press enter to stop this process");
        Console.ReadLine();
   }
}

Následující příklad kódu poskytuje vzdálený objekt používaný klientem a serverem:

using System;
public class HelloServer : MarshalByRefObject
{
    public HelloServer(String myString)
    {
        Console.WriteLine("HelloServer activated");
        Console.WriteLine("Parameter passed to the constructor is "+myString);
    }
    public String HelloMethod(String myName)
    {
        Console.WriteLine("HelloMethod : {0}",myName);
        return "Hi there " + myName;
    }
}

Poznámky

Pokud chcete na klientovi vytvořit instanci objektu aktivovaného klientem, musíte znát jeho Type objekt a musí být zaregistrovaný v klientovi pomocí metody .RegisterActivatedClientType Pokud chcete získat proxy server pro novou instanci objektu aktivovaného klientem, musí klient nejprve zaregistrovat kanál pomocí ChannelServices a poté aktivovat objekt voláním new.

Chcete-li aktivovat typ objektu aktivovaného klientem pomocí klíčového new slova , musíte nejprve zaregistrovat typ objektu v klientovi pomocí RegisterActivatedClientType metody . Voláním RegisterActivatedClientType poskytnete infrastruktuře vzdálené komunikace umístění vzdálené aplikace, kde new se ji pokusí vytvořit. Pokud naopak použijete metodu Activator.CreateInstance k vytvoření nové instance objektu aktivovaného klientem, musíte jako parametr zadat adresu URL vzdálené aplikace, takže není nutná žádná předchozí registrace na straně klienta. Chcete-li metodě poskytnout Activator.CreateInstance adresu URL serveru, na kterém chcete objekt vytvořit, musíte zapouzdřovat adresu URL v instanci UrlAttribute třídy .

Podrobný popis objektů aktivovaných klientem a vzdálené aktivace objektů najdete v tématu Aktivace vzdálených objektů.

Konstruktory

ActivatedClientTypeEntry(String, String, String)

Inicializuje novou instanci ActivatedClientTypeEntry třídy s názvem daného typu, názvem sestavení a adresou URL aplikace.

ActivatedClientTypeEntry(Type, String)

Inicializuje novou instanci ActivatedClientTypeEntry třídy s danou Type a adresou URL aplikace.

Vlastnosti

ApplicationUrl

Získá adresu URL aplikace pro aktivaci typu in.

AssemblyName

Získá název sestavení typu objektu nakonfigurovaného jako vzdáleně aktivovaný typ.

(Zděděno od TypeEntry)
ContextAttributes

Získá nebo nastaví atributy kontextu pro typ aktivovaný klientem.

ObjectType

Type Získá typ aktivovaného klientem.

TypeName

Získá úplný název typu objektu nakonfigurovaného jako vzdáleně aktivovaný typ.

(Zděděno od TypeEntry)

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí název typu, název sestavení a adresu URL aplikace typu aktivovaného klientem Stringjako .

Platí pro

Produkt Verze
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Viz také