IChannelReceiverHook インターフェイス

該当インターフェイスを実装しているチャネルを外部リスナ サービスにフックする必要があることを示します。

この型のすべてのメンバの一覧については、IChannelReceiverHook メンバ を参照してください。

Public Interface IChannelReceiverHook
[C#]
public interface IChannelReceiverHook
[C++]
public __gc __interface IChannelReceiverHook
[JScript]
public interface IChannelReceiverHook

IChannelReceiverHook を実装するクラス

クラス 説明
HttpChannel メッセージを送信するために HTTP プロトコルを使用する送信者と受信者間のチャネルの実装を提供します。
HttpServerChannel メッセージを送信するために HTTP プロトコルを使用するサーバー チャネルの実装を提供します。

使用例

 
' Implementation of 'IChannelReceiverHook' interface.
Public Class MyCustomChannel
   Implements IChannelReceiverHook 
   Private portSet As Boolean

   ' Constructor for MyCustomChannel.
   Public Sub New(ByVal port As Integer)
      portSet = True
   End Sub 'New

   ' Constructor for MyCustomChannel.
   Public Sub New()
      portSet = False
   End Sub 'New

   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 'AddHookChannelUri
End Class 'MyCustomChannel 

[C#] 
// 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.
   }
}

[C++] 
// Implementation of 'IChannelReceiverHook' interface.
public __gc class MyCustomChannel : public IChannelReceiverHook 
{
private:
   bool portSet;
   // Constructor for MyCustomChannel.
public:
   MyCustomChannel(int /*port*/)
   {
      MyChannelScheme = S"http";
      portSet = true;
   }
   // Constructor for MyCustomChannel.
   MyCustomChannel()
   {
      MyChannelScheme = S"http";
      portSet = false;
   }
public:
   __property bool get_WantsToListen()
   {
      if (portSet)
      {
         return false;
      }
      else
      {
         return true;
      }
   }

private:
   String* MyChannelScheme;
public:
   __property String* get_ChannelScheme()
   {
      return MyChannelScheme;
   }

   __property IServerChannelSink* get_ChannelSinkChain()
   {
      // Null implementation.
      return 0;
   }

   void AddHookChannelUri(String* /*channelUri*/)
   {
      // Null implementation.
   }
};

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System.Runtime.Remoting.Channels

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

アセンブリ: Mscorlib (Mscorlib.dll 内)

参照

IChannelReceiverHook メンバ | System.Runtime.Remoting.Channels 名前空間