IChannelReceiverHook.AddHookChannelUri(String) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
添加信道挂钩将在其上进行侦听的 URI。
public:
void AddHookChannelUri(System::String ^ channelUri);
public void AddHookChannelUri (string channelUri);
[System.Security.SecurityCritical]
public void AddHookChannelUri (string channelUri);
abstract member AddHookChannelUri : string -> unit
[<System.Security.SecurityCritical>]
abstract member AddHookChannelUri : string -> unit
Public Sub AddHookChannelUri (channelUri As String)
参数
- channelUri
- String
信道挂钩将在其上进行侦听的 URI。
- 属性
例外
直接调用方没有基础结构权限。
示例
ref class CustomChannel: public BaseChannelWithProperties, public IChannelReceiverHook, public IChannelReceiver, public IChannel, public IChannelSender
{
public:
virtual void AddHookChannelUri( String^ channelUri )
{
if ( channelUri != nullptr )
{
array<String^>^uris = dataStore->ChannelUris;
// This implementation only allows one URI to be hooked in.
if ( uris == nullptr )
{
array<String^>^newUris = gcnew array<String^>(1);
newUris[ 0 ] = channelUri;
dataStore->ChannelUris = newUris;
wantsToListen = false;
}
else
{
String^ msg = "This channel is already listening for data, and can't be hooked into at this stage.";
throw gcnew System::Runtime::Remoting::RemotingException( msg );
}
}
}
// The rest of CustomChannel's implementation.
class CustomChannel : BaseChannelWithProperties, IChannelReceiverHook,
IChannelReceiver, IChannel, IChannelSender {
public void AddHookChannelUri(string channelUri) {
if (channelUri != null) {
string [] uris = dataStore.ChannelUris;
// This implementation only allows one URI to be hooked in.
if (uris == null) {
string [] newUris = new string[1];
newUris[0] = channelUri;
dataStore.ChannelUris = newUris;
wantsToListen = false;
} else {
string msg = "This channel is already listening for " +
"data, and can't be hooked into at this stage.";
throw new System.Runtime.Remoting.RemotingException(msg);
}
}
}
// The rest of CustomChannel's implementation.
Class CustomChannel
Inherits BaseChannelWithProperties
Implements IChannelReceiverHook, IChannelReceiver, IChannel, IChannelSender
Public Sub AddHookChannelUri(ByVal channelUri As String) _
Implements IChannelReceiverHook.AddHookChannelUri
If Not (channelUri Is Nothing) Then
Dim uris As String() = dataStore.ChannelUris
' This implementation only allows one URI to be hooked in.
If uris Is Nothing Then
Dim newUris(1) As String
newUris(0) = channelUri
dataStore.ChannelUris = newUris
wantsListen = False
Else
Dim msg As String
msg = "This channel is already listening for data, and " + _
"can't be hooked into at this stage."
Throw New System.Runtime.Remoting.RemotingException(msg)
End If
End If
End Sub
' The rest of CustomChannel's implementation.
注解
客户端代码不应直接调用此方法。