WellKnownServiceTypeEntry Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Innehåller värden för en objekttyp som registrerats i tjänstslutet som ett serveraktiverat typobjekt (enskilt anrop eller 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
- Arv
- Attribut
Exempel
#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
Kommentarer
Serveraktiverade objekttyper kan vara antingen enkla anrop eller singleton. Om en objekttyp är ett enda anrop skapas en ny instans av den varje gång ett anrop från klienten kommer in. Alla anrop till ett singleton-objekt hanteras av en instans av objektet.
Alla klienter som känner till URI:n för det här objektet kan hämta en proxy för det här objektet genom att registrera kanalen som den föredrar med ChannelServices och aktivera objektet genom att anropa new eller Activator.GetObject.
Det är viktigt att observera att själva fjärrobjektet inte skapas av registreringsprocessen. Detta inträffar bara när en klient försöker anropa en metod på objektet eller aktiverar objektet från klientsidan.
En mer detaljerad beskrivning av serveraktiverade objekt och aktivering av fjärrobjekt finns i Aktivering av fjärrobjekt.
Konstruktorer
| Name | Description |
|---|---|
| WellKnownServiceTypeEntry(String, String, String, WellKnownObjectMode) |
Initierar en ny instans av WellKnownServiceTypeEntry klassen med det angivna typnamnet, sammansättningsnamnet, objekt-URI:n och WellKnownObjectMode. |
| WellKnownServiceTypeEntry(Type, String, WellKnownObjectMode) |
Initierar en ny instans av WellKnownServiceTypeEntry klassen med angiven Type, objekt-URI och WellKnownObjectMode. |
Egenskaper
| Name | Description |
|---|---|
| AssemblyName |
Hämtar sammansättningsnamnet för den objekttyp som har konfigurerats för att vara en fjärraktiverad typ. (Ärvd från TypeEntry) |
| ContextAttributes |
Hämtar eller anger kontextattributen för den serveraktiverade tjänsttypen. |
| Mode |
Hämtar den WellKnownObjectMode serveraktiverade tjänsttypen. |
| ObjectType |
Hämtar den Type serveraktiverade tjänsttypen. |
| ObjectUri |
Hämtar URI:n för den välkända tjänsttypen. |
| TypeName |
Hämtar det fullständiga typnamnet för den objekttyp som har konfigurerats för att vara en fjärraktiverad typ. (Ärvd från TypeEntry) |
Metoder
| Name | Description |
|---|---|
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar typnamn, sammansättningsnamn, objekt-URI och den WellKnownObjectMode serveraktiverade typen som en String. |