IChannelReceiverHook.AddHookChannelUri(String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Adds a URI on which the channel hook will listen.
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)
Parameters
- channelUri
- String
A URI on which the channel hook will listen.
- Attributes
Exceptions
The immediate caller does not have infrastructure permission.
Examples
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.
Remarks
Client code should not call this method directly.
Applies to
Collaborate with us on GitHub
The source for this content can be found on GitHub, where you can also create and review issues and pull requests. For more information, see our contributor guide.