WellKnownServiceTypeEntry クラス
アセンブリ: mscorlib (mscorlib.dll 内)


サーバー側でアクティブ化されるオブジェクト型には、単一の呼び出しまたはシングルトンがあります。オブジェクト型が単一の呼び出しの場合は、クライアントからの呼び出しがあるたびに新しいインスタンスが作成されます。シングルトン オブジェクトへのすべての呼び出しは、そのオブジェクトの 1 つのインスタンスによって処理されます。
このオブジェクトの URI を知っているすべてのクライアントは、ChannelServices で優先するチャネルを登録し、new または Activator.GetObject を呼び出してそのオブジェクトをアクティブにすることにより、このオブジェクト用にプロキシを取得できます。
登録処理によって、リモート オブジェクト自体は作成されないことに注意してください。これはクライアントがオブジェクト上のメソッドを呼び出そうとしたり、クライアント側からオブジェクトをアクティブにしたりする場合にだけ発生します。
サーバー側でアクティブ化されるオブジェクトとリモート オブジェクト アクティベーションの詳細については、「リモート オブジェクトのアクティべーション」を参照してください。

Imports System 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 'Main End Class 'MyServer
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(); } }
#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(); }
import System.*; import System.Runtime.Remoting.*; import System.Runtime.Remoting.Channels.*; import System.Runtime.Remoting.Channels.Http.*; public class MyServer { public static void main(String[] args) { // 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(HelloServer.class.ToType() , "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].get_Mode()); Console.WriteLine("The 'WellKnownServiceTypeEntry' object: " + myWellKnownServiceTypeEntryCollection.get_Item(0).ToString()); Console.WriteLine("Started the Server, Hit <enter> to exit..."); Console.ReadLine(); } //main } //MyServer

System.Runtime.Remoting.TypeEntry
System.Runtime.Remoting.WellKnownServiceTypeEntry


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- WellKnownServiceTypeEntry クラスのページへのリンク