ActivatedServiceTypeEntry Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Obsahuje hodnoty pro typ objektu zaregistrovaný na konci služby jako objekt, který lze aktivovat na žádost klienta.
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
- Dědičnost
- Atributy
Příklady
#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
Poznámky
Aktuální třída je používána metodou RemotingConfiguration.RegisterActivatedServiceType , což je protějšek metody na RemotingConfiguration.RegisterActivatedClientType straně serveru. Metoda RegisterActivatedServiceType se na serveru používá k povolení vzdálené aktivace klienty zadaných typů objektů.
Chcete-li vytvořit objekt aktivovaný klientem na serveru, musíte znát jeho Typeobjekt a musí být zaregistrován na straně serveru pomocí RegisterActivatedServiceType metody . Pokud chcete získat proxy pro nový objekt aktivovaný klientem, musí klient nejprve zaregistrovat kanál pomocí ChannelServices a pak aktivovat objekt voláním new
nebo Activator.CreateInstance.
Chcete-li aktivovat typ objektu aktivovaný 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 na druhé straně použijete metodu 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 klientovi. Chcete-li zadat metodu CreateInstance s adresou URL serveru, na kterém chcete vytvořit objekt, musíte zapouzdřit 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
ActivatedServiceTypeEntry(String, String) |
Inicializuje novou instanci ActivatedServiceTypeEntry třídy s daným názvem typu a názvem sestavení. |
ActivatedServiceTypeEntry(Type) |
Inicializuje novou instanci ActivatedServiceTypeEntry třídy s danou Type. |
Vlastnosti
AssemblyName |
Získá název sestavení typu objektu nakonfigurovaný jako typ vzdálené aktivace. (Zděděno od TypeEntry) |
ContextAttributes |
Získá nebo nastaví atributy kontextu pro typ služby aktivované klientem. |
ObjectType |
Type Získá typ služby aktivované klientem. |
TypeName |
Získá úplný název typu objektu typ nakonfigurovaný být 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() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ToString() |
Vrátí typ a název sestavení typu služby aktivované klientem Stringjako . |