IChannelReceiverHook 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
指示正在實作的通道要攔截外部接聽程式 (Listener) 服務。
public interface class IChannelReceiverHook
public interface IChannelReceiverHook
[System.Runtime.InteropServices.ComVisible(true)]
public interface IChannelReceiverHook
type IChannelReceiverHook = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type IChannelReceiverHook = interface
Public Interface IChannelReceiverHook
- 衍生
- 屬性
範例
// 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
屬性
ChannelScheme |
取得要攔截的接聽程式型別。 |
ChannelSinkChain |
取得目前通道正在使用的通道接收鏈結。 |
WantsToListen |
取得布林 (Boolean) 值,指出 IChannelReceiverHook 是否需要連結至外部接聽服務。 |
方法
AddHookChannelUri(String) |
加入 URI,通道攔截 (Hook) 應該會在其上接聽 (Listen)。 |