WellKnownClientTypeEntry WellKnownClientTypeEntry WellKnownClientTypeEntry WellKnownClientTypeEntry Class

定義

サーバー側でアクティブ化される型 (単一の呼び出しまたはシングルトン) としてクライアントに登録されたオブジェクト型の値を保持します。Holds values for an object type registered on the client as a server-activated type (single call or singleton).

public ref class WellKnownClientTypeEntry : System::Runtime::Remoting::TypeEntry
[System.Runtime.InteropServices.ComVisible(true)]
public class WellKnownClientTypeEntry : System.Runtime.Remoting.TypeEntry
type WellKnownClientTypeEntry = class
    inherit TypeEntry
Public Class WellKnownClientTypeEntry
Inherits TypeEntry
継承
WellKnownClientTypeEntryWellKnownClientTypeEntryWellKnownClientTypeEntryWellKnownClientTypeEntry
属性

#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 'MyClient 

注釈

サーバー側でアクティブ化される型は、単一呼び出しまたはシングルトンにすることができます。Server-activated types can be either single call or singleton. クラスが1つの呼び出し型として登録されている場合、クライアントからの呼び出しが到着するたびに新しいインスタンスが作成されます。If a class is registered as a single call type, a new instance is created each time a call from the client arrives. シングルトンオブジェクトのすべての呼び出しは、そのオブジェクトが収集されていない限り、そのオブジェクトの1つのインスタンスによって処理されます。All calls to a singleton object are handled by one instance of that object, unless that object has been collected.

登録済みサーバー側でアクティブ化されるオブジェクトの URI を認識しているすべてのクライアントは、このオブジェクトのプロキシをChannelServices取得できます。そのためnewActivator.GetObjectは、優先するチャネルを登録し、またはを呼び出してオブジェクトをアクティブ化します。Any client that knows the URI of a registered server-activated object can obtain a proxy for this object by registering the channel it prefers with ChannelServices and activating the object by calling new or Activator.GetObject. newサーバー側でアクティブ化されるオブジェクトをアクティブ化するには、まず、 RegisterWellKnownClientTypeメソッドを使用して、サーバー側でアクティブ化されるオブジェクトの種類をクライアントに登録する必要があります。To activate a server-activated object with new, you must first register the server-activated object type on the client using the RegisterWellKnownClientType method. を呼びRegisterWellKnownClientType出すことにより、リモート処理インフラストラクチャにリモートオブジェクトの場所を与えることにnewなります。これにより、キーワードを使用してリモートオブジェクトを作成できるようになります。By calling RegisterWellKnownClientType, you are giving the remoting infrastructure the location of the remote object, which allows the new keyword to create it. 一方、 Activator.GetObjectメソッドを使用してサーバー側でアクティブ化されるオブジェクトをアクティブ化する場合は、オブジェクトの URL を引数として指定する必要があるため、クライアントでの事前登録は必要ありません。If, on the other hand, you use the Activator.GetObject method to activate a server-activated object, you must supply it with the object's URL as an argument, so no prior registration on the client is necessary.

サーバー側でアクティブ化されるオブジェクトとリモートオブジェクトのアクティブ化の詳細については、「リモートオブジェクトのアクティブ化」を参照してください。For a detailed description of server-activated objects and remote object activation, see Activation of Remote Objects.

コンストラクター

WellKnownClientTypeEntry(String, String, String) WellKnownClientTypeEntry(String, String, String) WellKnownClientTypeEntry(String, String, String) WellKnownClientTypeEntry(String, String, String)

指定した型、アセンブリ名、および URL を使用して、WellKnownClientTypeEntry クラスの新しいインスタンスを初期化します。Initializes a new instance of the WellKnownClientTypeEntry class with the given type, assembly name, and URL.

WellKnownClientTypeEntry(Type, String) WellKnownClientTypeEntry(Type, String) WellKnownClientTypeEntry(Type, String) WellKnownClientTypeEntry(Type, String)

指定した型と URL を使用して、WellKnownClientTypeEntry クラスの新しいインスタンスを初期化します。Initializes a new instance of the WellKnownClientTypeEntry class with the given type and URL.

プロパティ

ApplicationUrl ApplicationUrl ApplicationUrl ApplicationUrl

型をアクティブにするアプリケーションの URL を取得または設定します。Gets or sets the URL of the application to activate the type in.

AssemblyName AssemblyName AssemblyName AssemblyName

リモート アクティブ型になるように構成されたオブジェクト型のアセンブリ名を取得します。Gets the assembly name of the object type configured to be a remote-activated type.

(Inherited from TypeEntry)
ObjectType ObjectType ObjectType ObjectType

サーバー側でアクティブ化されるクライアント型の Type を取得します。Gets the Type of the server-activated client type.

ObjectUrl ObjectUrl ObjectUrl ObjectUrl

サーバー側でアクティブ化されるクライアント オブジェクトの URL を取得します。Gets the URL of the server-activated client object.

TypeName TypeName TypeName TypeName

リモート アクティブ型になるように構成されたオブジェクト型の完全な型名を取得します。Gets the full type name of the object type configured to be a remote-activated type.

(Inherited from TypeEntry)

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

サーバー側でアクティブ化されるクライアント型の完全な型名、アセンブリ名、オブジェクトの URL を String として返します。Returns the full type name, assembly name, and object URL of the server-activated client type as a String.

適用対象

こちらもご覧ください