ChannelServices.RegisterChannel 方法

定义

重载

RegisterChannel(IChannel)
已过时.

向信道服务注册信道。 RegisterChannel(IChannel) 已过时。 请改用 RegisterChannel(IChannel, Boolean)

RegisterChannel(IChannel, Boolean)

向信道服务注册信道。

RegisterChannel(IChannel)

注意

Use System.Runtime.Remoting.ChannelServices.RegisterChannel(IChannel chnl, bool ensureSecurity) instead.

向信道服务注册信道。 RegisterChannel(IChannel) 已过时。 请改用 RegisterChannel(IChannel, Boolean)

public:
 static void RegisterChannel(System::Runtime::Remoting::Channels::IChannel ^ chnl);
public static void RegisterChannel (System.Runtime.Remoting.Channels.IChannel chnl);
[System.Obsolete("Use System.Runtime.Remoting.ChannelServices.RegisterChannel(IChannel chnl, bool ensureSecurity) instead.", false)]
public static void RegisterChannel (System.Runtime.Remoting.Channels.IChannel chnl);
static member RegisterChannel : System.Runtime.Remoting.Channels.IChannel -> unit
[<System.Obsolete("Use System.Runtime.Remoting.ChannelServices.RegisterChannel(IChannel chnl, bool ensureSecurity) instead.", false)>]
static member RegisterChannel : System.Runtime.Remoting.Channels.IChannel -> unit
Public Shared Sub RegisterChannel (chnl As IChannel)

参数

chnl
IChannel

要注册的信道。

属性

例外

chnl 参数为 null

已注册该信道。

在调用堆栈上部,至少有一个调用方没有配置远程处理类型和通道的权限。

示例

HttpChannel^ channel = gcnew HttpChannel( 9000 );
ChannelServices::RegisterChannel( channel, false );
RemotingConfiguration::RegisterWellKnownServiceType( SampleNamespace::SampleService::typeid, "MySampleService/SampleService::soap", WellKnownObjectMode::Singleton );
Console::WriteLine( "** Press enter to end the server process. **" );
Console::ReadLine();
HttpChannel channel = new HttpChannel(9000);
ChannelServices.RegisterChannel(channel);

RemotingConfiguration.RegisterWellKnownServiceType( typeof(SampleService),
"MySampleService/SampleService.soap", WellKnownObjectMode.Singleton);

Console.WriteLine("** Press enter to end the server process. **");
Console.ReadLine();
Dim channel As New HttpChannel(9000)
ChannelServices.RegisterChannel(channel)
RemotingConfiguration.RegisterWellKnownServiceType(GetType(SampleService), "MySampleService/SampleService.soap", WellKnownObjectMode.Singleton)

Console.WriteLine("** Press enter to end the server process. **")
Console.ReadLine()

注解

方法 RegisterChannel 从通道对象获取 IChannel 接口。 通道的 必须是唯一 ChannelName 的,或者通道必须是匿名的。 如果使用 IChannel.ChannelName 配置属性将 设置为 nullEmpty ,则通道是匿名的 name

不能在 中注册两个 AppDomain同名的通道。 默认情况下, HttpChannel 的名称为“http”, TcpChannel 名称为“tcp”。因此,如果要注册两个相同类型的通道,则必须通过配置属性为其中一个通道指定不同的名称。

有关通道配置属性的详细信息,请参阅 HttpChannel<通道> 元素 (模板)

适用于

RegisterChannel(IChannel, Boolean)

向信道服务注册信道。

public:
 static void RegisterChannel(System::Runtime::Remoting::Channels::IChannel ^ chnl, bool ensureSecurity);
public static void RegisterChannel (System.Runtime.Remoting.Channels.IChannel chnl, bool ensureSecurity);
static member RegisterChannel : System.Runtime.Remoting.Channels.IChannel * bool -> unit
Public Shared Sub RegisterChannel (chnl As IChannel, ensureSecurity As Boolean)

参数

chnl
IChannel

要注册的信道。

ensureSecurity
Boolean

如果启用了安全,则为 true;否则为 false。 将该值设置为 false 不会影响 TCP 或 IPC 通道的安全设置。

例外

chnl 参数为 null

已注册该信道。

在调用堆栈上部,至少有一个调用方没有配置远程处理类型和通道的权限。

对于 HttpServerChannel,不受支持。 如果需要安全的 HTTP 信道,请使用 Internet 信息服务 (IIS) 承载服务。

注解

方法 RegisterChannel(IChannel, Boolean) 从通道对象接收 IChannel 接口。 通道的 必须是唯一 ChannelName 的,或者通道必须是匿名的。 如果使用 IChannel.ChannelName 配置属性将 设置为 nullEmpty ,则通道是匿名的 name

不能在 中注册两个 AppDomain同名的通道。 默认情况下, HttpChannel 的名称为“http”, TcpChannel 名称为“tcp”。 因此,如果要注册两个相同类型的通道,则必须通过配置属性为其中一个通道指定不同的名称。

有关通道配置属性的详细信息,请参阅 通道和格式化程序配置属性<通道> 元素 (模板)

ensureSecurity如果 参数设置为 true,远程处理系统将确定通道是否实现 ISecurableChannel,如果是,则启用加密和数字签名。 如果通道不实现 ISecurableChannel,则会引发异常。

注意

设置为 ensureSecurityRemotingException为所有平台上的HttpServerChannel通道引发 。true 如果要使用安全的 http 通道,则必须在 IIS 中托管服务。

适用于