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
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 'Main
End Class 'MyClient 

注釈

サーバーのアクティブ化される型には、1 回の呼び出しまたはシングルトンのいずれかを指定できます。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と呼び出すことによって、オブジェクトをアクティブ化newまたはActivator.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.

サーバー側でアクティブ オブジェクトとリモート オブジェクトのアクティブ化の詳細については、次を参照してください。 Activation of Remote Objectsします。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.

適用対象

こちらもご覧ください