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 -> unitPublic 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.
注解
客户端代码不应直接调用此方法。