WellKnownClientTypeEntry Osztály
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Az ügyfélen kiszolgáló által aktivált típusként (egyszeri hívás vagy egyszeri hívás) regisztrált objektumtípus értékeit tárolja.
public ref class WellKnownClientTypeEntry : System::Runtime::Remoting::TypeEntry
public class WellKnownClientTypeEntry : System.Runtime.Remoting.TypeEntry
[System.Runtime.InteropServices.ComVisible(true)]
public class WellKnownClientTypeEntry : System.Runtime.Remoting.TypeEntry
type WellKnownClientTypeEntry = class
inherit TypeEntry
[<System.Runtime.InteropServices.ComVisible(true)>]
type WellKnownClientTypeEntry = class
inherit TypeEntry
Public Class WellKnownClientTypeEntry
Inherits TypeEntry
- Öröklődés
- Attribútumok
Példák
#using <System.Runtime.Remoting.dll>
#using <System.dll>
#using <WellKnownClientTypeEntry_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 with channel services.
ChannelServices::RegisterChannel( gcnew HttpChannel );
Console::WriteLine( " Start calling from Client One......." );
WellKnownClientTypeEntry^ myWellKnownClientTypeEntry = gcnew WellKnownClientTypeEntry( HelloServer::typeid,"http://localhost:8086/SayHello" );
myWellKnownClientTypeEntry->ApplicationUrl = "http://localhost:8086/SayHello";
RemotingConfiguration::RegisterWellKnownClientType( myWellKnownClientTypeEntry );
// Get the proxy object for the remote object.
HelloServer^ myHelloServerObject = gcnew HelloServer;
// Retrieve an array of object types registered on the
// client end as well-known types.
array<WellKnownClientTypeEntry^>^myWellKnownClientTypeEntryCollection = RemotingConfiguration::GetRegisteredWellKnownClientTypes();
Console::WriteLine( "The Application Url to activate the Remote Object :{0}", myWellKnownClientTypeEntryCollection[ 0 ]->ApplicationUrl );
Console::WriteLine( "The 'WellKnownClientTypeEntry' object :{0}", myWellKnownClientTypeEntryCollection[ 0 ] );
// Make remote method calls.
for ( int i = 0; i < 5; i++ )
Console::WriteLine( myHelloServerObject->HelloMethod( " Client One" ) );
}
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;
public class MyClient
{
public static void Main()
{
// Create a 'HttpChannel' object and register with channel services.
ChannelServices.RegisterChannel(new HttpChannel());
Console.WriteLine(" Start calling from Client One.......");
WellKnownClientTypeEntry myWellKnownClientTypeEntry =
new WellKnownClientTypeEntry(typeof(HelloServer),
"http://localhost:8086/SayHello");
myWellKnownClientTypeEntry.ApplicationUrl="http://localhost:8086/SayHello";
RemotingConfiguration.RegisterWellKnownClientType(myWellKnownClientTypeEntry);
// Get the proxy object for the remote object.
HelloServer myHelloServerObject = new HelloServer();
// Retrieve an array of object types registered on the
// client end as well-known types.
WellKnownClientTypeEntry [] myWellKnownClientTypeEntryCollection =
RemotingConfiguration.GetRegisteredWellKnownClientTypes();
Console.WriteLine("The Application Url to activate the Remote Object :"
+myWellKnownClientTypeEntryCollection[0].ApplicationUrl);
Console.WriteLine("The 'WellKnownClientTypeEntry' object :"
+myWellKnownClientTypeEntryCollection[0].ToString());
// Make remote method calls.
for (int i = 0; i < 5; i++)
Console.WriteLine(myHelloServerObject.HelloMethod(" Client One"));
}
}
Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels
Imports System.Runtime.Remoting.Channels.Http
Public Class MyClient
Public Shared Sub Main()
' Create a 'HttpChannel' object and register with channel services.
ChannelServices.RegisterChannel(New HttpChannel())
Console.WriteLine(" Start calling from Client One.......")
Dim myWellKnownClientTypeEntry As New WellKnownClientTypeEntry(GetType(HelloServer), _
"http://localhost:8086/SayHello")
myWellKnownClientTypeEntry.ApplicationUrl = "http://localhost:8086/SayHello"
RemotingConfiguration.RegisterWellKnownClientType(myWellKnownClientTypeEntry)
' Get the proxy object for the remote object.
Dim myHelloServerObject As New HelloServer()
' Retrieve an array of object types registered on the
' client end as well-known types.
Dim myWellKnownClientTypeEntryCollection As WellKnownClientTypeEntry() = _
RemotingConfiguration.GetRegisteredWellKnownClientTypes()
Console.WriteLine("The Application Url to activate the Remote Object :" + _
myWellKnownClientTypeEntryCollection(0).ApplicationUrl)
Console.WriteLine("The 'WellKnownClientTypeEntry' object :" + _
myWellKnownClientTypeEntryCollection(0).ToString())
' Make remote method calls.
Dim i As Integer
For i = 0 To 4
Console.WriteLine(myHelloServerObject.HelloMethod(" Client One"))
Next i
End Sub
End Class
Megjegyzések
A kiszolgáló által aktivált típusok lehetnek egyetlen hívás vagy egyhangosak. Ha egy osztály egyetlen hívástípusként van regisztrálva, a rendszer minden alkalommal létrehoz egy új példányt, amikor az ügyfél hívása érkezik. Az egyetlen objektumra irányuló összes hívást az objektum egy példánya kezeli, kivéve, ha az objektumot összegyűjtötték.
Bármely ügyfél, amely ismeri a regisztrált kiszolgáló által aktivált objektumok URI-ját, proxyt szerezhet be ehhez az objektumhoz a kívánt csatorna regisztrálásával és az objektum meghívásával vagy ChannelServicesaktiválásával.newActivator.GetObject A kiszolgáló által newaktivált objektum aktiválásához először regisztrálnia kell a kiszolgáló által aktivált objektumtípust az ügyfélen a RegisterWellKnownClientType metódus használatával. A hívással RegisterWellKnownClientTypemegadja az átnevezési infrastruktúrának a távoli objektum helyét, amely lehetővé teszi a new kulcsszó számára annak létrehozását. Ha viszont a Activator.GetObject metódussal aktivál egy kiszolgáló által aktivált objektumot, argumentumként meg kell adnia az objektum URL-címét, így nincs szükség előzetes regisztrációra az ügyfélen.
A kiszolgáló által aktivált objektumok és a távoli objektumok aktiválásának részletes leírását a Távoli objektumok aktiválása című témakörben találja.
Konstruktorok
| Name | Description |
|---|---|
| WellKnownClientTypeEntry(String, String, String) |
Inicializálja az osztály új példányát a WellKnownClientTypeEntry megadott típussal, szerelvénynévvel és URL-címmel. |
| WellKnownClientTypeEntry(Type, String) |
Inicializálja az osztály új példányát a WellKnownClientTypeEntry megadott típussal és URL-címmel. |
Tulajdonságok
| Name | Description |
|---|---|
| ApplicationUrl |
Lekéri vagy beállítja az alkalmazás URL-címét a típus aktiválásához. |
| AssemblyName |
Lekéri annak az objektumtípusnak a szerelvénynevét, amely távoli aktiválású típusként van konfigurálva. (Öröklődés forrása TypeEntry) |
| ObjectType |
Lekéri a Type kiszolgáló által aktivált ügyféltípust. |
| ObjectUrl |
Lekéri a kiszolgáló által aktivált ügyfélobjektum URL-címét. |
| TypeName |
Lekéri annak az objektumtípusnak a teljes nevét, amely távoli aktiválású típusként van konfigurálva. (Öröklődés forrása TypeEntry) |
Metódusok
| Name | Description |
|---|---|
| Equals(Object) |
Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal. (Öröklődés forrása Object) |
| GetHashCode() |
Ez az alapértelmezett kivonatoló függvény. (Öröklődés forrása Object) |
| GetType() |
Lekéri az Type aktuális példányt. (Öröklődés forrása Object) |
| MemberwiseClone() |
Az aktuális Objectpéldány sekély másolatát hozza létre. (Öröklődés forrása Object) |
| ToString() |
A kiszolgáló által aktivált ügyféltípus Stringteljes nevét, szerelvénynevét és objektum URL-címét adja vissza. |