RemotingConfiguration.RegisterWellKnownClientType メソッド

定義

既知の型 (単一の呼び出しまたはシングルトン) として、クライアント エンドでオブジェクト Type を登録します。Registers an object Type on the client end as a well-known type (single call or singleton).

オーバーロード

RegisterWellKnownClientType(WellKnownClientTypeEntry)

サーバーでアクティブにできる既知の型として、クライアント エンドで提供される Type に記録されているオブジェクト WellKnownClientTypeEntry を登録します。Registers an object Type recorded in the provided WellKnownClientTypeEntry on the client end as a well-known type that can be activated on the server.

RegisterWellKnownClientType(Type, String)

サーバーでアクティブにできる既知の型として、クライアント エンドでオブジェクト Type を登録し、特定のパラメーターを使用して WellKnownClientTypeEntry クラスの新しいインスタンスを初期化します。Registers an object Type on the client end as a well-known type that can be activated on the server, using the given parameters to initialize a new instance of the WellKnownClientTypeEntry class.

RegisterWellKnownClientType(WellKnownClientTypeEntry)

サーバーでアクティブにできる既知の型として、クライアント エンドで提供される Type に記録されているオブジェクト WellKnownClientTypeEntry を登録します。Registers an object Type recorded in the provided WellKnownClientTypeEntry on the client end as a well-known type that can be activated on the server.

public:
 static void RegisterWellKnownClientType(System::Runtime::Remoting::WellKnownClientTypeEntry ^ entry);
public static void RegisterWellKnownClientType (System.Runtime.Remoting.WellKnownClientTypeEntry entry);
static member RegisterWellKnownClientType : System.Runtime.Remoting.WellKnownClientTypeEntry -> unit
Public Shared Sub RegisterWellKnownClientType (entry As WellKnownClientTypeEntry)

パラメーター

entry
WellKnownClientTypeEntry

既知の型の構成設定。Configuration settings for the well-known type.

例外

コールスタックの上位にある 1 つ以上の呼び出し元に、リモート処理の型とチャネルを構成するためのアクセス許可がありません。At least one of the callers higher in the callstack does not have permission to configure remoting types and channels.

注釈

登録済みの既知のオブジェクトの URI を認識しているクライアントは、ChannelServicesで優先されるチャネルを登録し、new または Activator.GetObjectを呼び出すことによってオブジェクトをアクティブ化することによって、オブジェクトのプロキシを取得できます。Any client that knows the URI of a registered well-known object can obtain a proxy for the object by registering the channel it prefers with ChannelServices, and activating the object by calling new or Activator.GetObject. newで既知のオブジェクトをアクティブ化するには、まず、RegisterWellKnownClientType メソッドを使用して、既知のオブジェクトの種類をクライアントに登録する必要があります。To activate a well-known object with new, you must first register the well-known object type on the client using the RegisterWellKnownClientType method. RegisterWellKnownClientType メソッドを呼び出すと、リモート処理インフラストラクチャがリモートオブジェクトの場所を指定できるようになります。これにより、new キーワードによってリモートオブジェクトが作成されます。Calling the RegisterWellKnownClientType method gives 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 the well-known object, you must supply it with the object's URL as an argument, so no prior registration on the client end is necessary.

よく知られているオブジェクトの詳細については、「サーバーのアクティブ化」を参照してください。For a detailed description of well-known objects, see Server Activation.

こちらもご覧ください

RegisterWellKnownClientType(Type, String)

サーバーでアクティブにできる既知の型として、クライアント エンドでオブジェクト Type を登録し、特定のパラメーターを使用して WellKnownClientTypeEntry クラスの新しいインスタンスを初期化します。Registers an object Type on the client end as a well-known type that can be activated on the server, using the given parameters to initialize a new instance of the WellKnownClientTypeEntry class.

public:
 static void RegisterWellKnownClientType(Type ^ type, System::String ^ objectUrl);
public static void RegisterWellKnownClientType (Type type, string objectUrl);
static member RegisterWellKnownClientType : Type * string -> unit
Public Shared Sub RegisterWellKnownClientType (type As Type, objectUrl As String)

パラメーター

type
Type

オブジェクト TypeThe object Type.

objectUrl
String

既知のクライアント オブジェクトの URL。URL of a well-known client object.

例外

コールスタックの上位にある 1 つ以上の呼び出し元に、リモート処理の型とチャネルを構成するためのアクセス許可がありません。At least one of the callers higher in the callstack does not have permission to configure remoting types and channels.

次のコード例は、既知の型としてクライアントエンドにオブジェクト型を登録する方法を示しています。The following code example demonstrates registration of an object type on the client end as a well-known type. 提示されたクライアントコードに対応するサーバーコードについては、RegisterWellKnownServiceType メソッドの例を参照してください。For the server code that corresponds to the presented client code, see the example for the RegisterWellKnownServiceType method.

#using <system.dll>
#using <system.runtime.remoting.dll>
#using "service.dll"

using namespace System;
using namespace System::Runtime::Remoting;
using namespace System::Runtime::Remoting::Channels::Tcp;
using namespace System::Runtime::Remoting::Channels;
int main()
{
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels.Tcp;
using System.Runtime.Remoting.Channels;

public class ClientClass {

    public static void Main() {

Imports System.Runtime.Remoting
Imports System.Runtime.Remoting.Channels.Tcp
Imports System.Runtime.Remoting.Channels


Public Class ClientClass
   
   
   Public Shared Sub Main()
      
ChannelServices::RegisterChannel( gcnew TcpChannel );
RemotingConfiguration::RegisterWellKnownClientType( HelloService::typeid,
                                                    "tcp://localhost:8082/HelloServiceApplication/MyUri" );
HelloService ^ service = gcnew HelloService;
ChannelServices.RegisterChannel(new TcpChannel());

RemotingConfiguration.RegisterWellKnownClientType(
                                                   typeof(HelloService),
                                                   "tcp://localhost:8082/HelloServiceApplication/MyUri"
                                                 );

HelloService service = new HelloService();
ChannelServices.RegisterChannel(New TcpChannel())

RemotingConfiguration.RegisterWellKnownClientType(GetType(HelloService), "tcp://localhost:8082/HelloServiceApplication/MyUri")

Dim service As New HelloService()
   if ( service == nullptr )
   {
      Console::WriteLine( "Could not locate server." );
      return  -1;
   }

   // Calls the remote method.
   Console::WriteLine();
   Console::WriteLine( "Calling remote Object*" );
   Console::WriteLine( service->HelloMethod( "Caveman" ) );
   Console::WriteLine( service->HelloMethod( "Spaceman" ) );
   Console::WriteLine( service->HelloMethod( "Client Man" ) );
   Console::WriteLine( "Finished remote Object* call" );
   Console::WriteLine();
   return 0;
}

        if(service == null) {
            Console.WriteLine("Could not locate server.");
            return;
        }

        // Calls the remote method.
        Console.WriteLine();
        Console.WriteLine("Calling remote object");
        Console.WriteLine(service.HelloMethod("Caveman"));
        Console.WriteLine(service.HelloMethod("Spaceman"));
        Console.WriteLine(service.HelloMethod("Client Man"));
        Console.WriteLine("Finished remote object call");
        Console.WriteLine();
    }
}

      If service Is Nothing Then
         Console.WriteLine("Could not locate server.")
         Return
      End If
            
      ' Calls the remote method.
      Console.WriteLine()
      Console.WriteLine("Calling remote object")
      Console.WriteLine(service.HelloMethod("Caveman"))
      Console.WriteLine(service.HelloMethod("Spaceman"))
      Console.WriteLine(service.HelloMethod("Client Man"))
      Console.WriteLine("Finished remote object call")
      Console.WriteLine()

   End Sub

End Class

注釈

登録済みの既知のオブジェクトの URI を認識しているクライアントは、ChannelServicesで優先されるチャネルを登録し、new または Activator.GetObjectを呼び出すことによってオブジェクトをアクティブ化することによって、オブジェクトのプロキシを取得できます。Any client that knows the URI of a registered well-known object can obtain a proxy for the object by registering the channel it prefers with ChannelServices, and activating the object by calling new or Activator.GetObject. newで既知のオブジェクトをアクティブ化するには、まず、RegisterWellKnownClientType メソッドを使用して、既知のオブジェクトの種類をクライアントに登録する必要があります。To activate a well-known object with new, you must first register the well-known object type on the client using the RegisterWellKnownClientType method. RegisterWellKnownClientType メソッドを呼び出すと、リモート処理インフラストラクチャがリモートオブジェクトの場所を指定できるようになります。これにより、new キーワードによってリモートオブジェクトが作成されます。Calling the RegisterWellKnownClientType method gives 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 the well-known object, you must supply it with the object's URL as an argument, so no prior registration on the client end is necessary.

よく知られているオブジェクトの詳細については、「サーバーのアクティブ化」を参照してください。For a detailed description of well-known objects, see Server Activation.

こちらもご覧ください

適用対象