IChannelReceiverHook Interface  
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.
Indicates that the implementing channel wants to hook into the outside listener service.
public interface class IChannelReceiverHookpublic interface IChannelReceiverHook[System.Runtime.InteropServices.ComVisible(true)]
public interface IChannelReceiverHooktype IChannelReceiverHook = interface[<System.Runtime.InteropServices.ComVisible(true)>]
type IChannelReceiverHook = interfacePublic Interface IChannelReceiverHook- Derived
- Attributes
Examples
// Implementation of 'IChannelReceiverHook' interface.
public ref class MyCustomChannel: public IChannelReceiverHook
{
private:
   bool portSet;
public:
   // Constructor for MyCustomChannel.
   MyCustomChannel( int /*port*/ )
   {
      MyChannelScheme = "http";
      portSet = true;
   }
   // Constructor for MyCustomChannel.
   MyCustomChannel()
   {
      MyChannelScheme = "http";
      portSet = false;
   }
   property bool WantsToListen 
   {
      [System::Security::Permissions::SecurityPermissionAttribute
      (System::Security::Permissions::SecurityAction::LinkDemand,
      Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
      virtual bool get()
      {
         if ( portSet )
         {
            return false;
         }
         else
         {
            return true;
         }
      }
   }
private:
   String^ MyChannelScheme;
public:
   property String^ ChannelScheme 
   {
      [System::Security::Permissions::SecurityPermissionAttribute
      (System::Security::Permissions::SecurityAction::LinkDemand,
      Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
      virtual String^ get()
      {
         return MyChannelScheme;
      }
   }
   property IServerChannelSink^ ChannelSinkChain 
   {
      [System::Security::Permissions::SecurityPermissionAttribute
      (System::Security::Permissions::SecurityAction::LinkDemand,
      Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
      virtual IServerChannelSink^ get()
      {
         
         // Null implementation.
         return nullptr;
      }
   }
   [System::Security::Permissions::SecurityPermissionAttribute
   (System::Security::Permissions::SecurityAction::LinkDemand,
   Flags=System::Security::Permissions::SecurityPermissionFlag::Infrastructure)]
   virtual void AddHookChannelUri( String^ /*channelUri*/ )
   {
      // Null implementation.
   }
};
// Implementation of 'IChannelReceiverHook' interface.
public class MyCustomChannel : IChannelReceiverHook
{
   private bool portSet;
   // Constructor for MyCustomChannel.
   public MyCustomChannel(int port)
   {
      portSet = true;
   }
   // Constructor for MyCustomChannel.
   public MyCustomChannel()
   {
      portSet = false;
   }
   public bool WantsToListen
   {
      get
      {
         if (portSet)
         {
            return false;
         }
         else
         {
            return true;
         }
      }
   }
   private string MyChannelScheme = "http";
   public string ChannelScheme
   {
      get
      {
         return MyChannelScheme;
      }
   }
   public IServerChannelSink ChannelSinkChain
   {
      get
      {
         // Null implementation.
         return null;
      }
   }
   public void AddHookChannelUri(string channelUri)
   {
      // Null implementation.
   }
}
' Implementation of 'IChannelReceiverHook' interface.
<PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _
Public Class MyCustomChannel
   Implements IChannelReceiverHook 
   Private portSet As Boolean
   ' Constructor for MyCustomChannel.
   Public Sub New(ByVal port As Integer)
      portSet = True
   End Sub
   ' Constructor for MyCustomChannel.
   Public Sub New()
      portSet = False
   End Sub
   Public ReadOnly Property WantsToListen() As Boolean Implements IChannelReceiverHook.WantsToListen
      Get
         If portSet Then
            Return False
         Else
            Return True
         End If
      End Get
   End Property
   Private MyChannelScheme As String = "http"
   Public ReadOnly Property ChannelScheme() As String Implements IChannelReceiverHook.ChannelScheme
      Get
         Return MyChannelScheme
      End Get
   End Property
   Public ReadOnly Property ChannelSinkChain() As IServerChannelSink _
                                       Implements IChannelReceiverHook.ChannelSinkChain
      Get
         ' Null implementation.
         Return Nothing
      End Get
   End Property
   Public Sub AddHookChannelUri(ByVal channelUri As String) _
                                          Implements IChannelReceiverHook.AddHookChannelUri
      ' Null implementation.
   End Sub
End Class
Properties
| ChannelScheme | Gets the type of listener to hook into. | 
| ChannelSinkChain | Gets the channel sink chain that the current channel is using. | 
| WantsToListen | Gets a Boolean value that indicates whether IChannelReceiverHook needs to be hooked into the outside listener service. | 
Methods
| AddHookChannelUri(String) | Adds a URI on which the channel hook will listen. |