IChannelReceiverHook-Schnittstelle
Gibt an, dass der implementierende Channel versucht, einen Hook auf den externen Listenerdienst zu erstellen.
Namespace: System.Runtime.Remoting.Channels
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
<ComVisibleAttribute(True)> _
Public Interface IChannelReceiverHook
'Usage
Dim instance As IChannelReceiverHook
[ComVisibleAttribute(true)]
public interface IChannelReceiverHook
[ComVisibleAttribute(true)]
public interface class IChannelReceiverHook
/** @attribute ComVisibleAttribute(true) */
public interface IChannelReceiverHook
ComVisibleAttribute(true)
public interface IChannelReceiverHook
Beispiel
' 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 '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
// Implementation of 'IChannelReceiverHook' interface.
[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
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.
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.
/** @attribute SecurityPermission(SecurityAction.Demand,
Flags = SecurityPermissionFlag.Infrastructure)
*/
/** @attribute SecurityPermission(SecurityAction.InheritanceDemand, Flags = SecurityPermissionFlag.Infrastructure)
*/
public class MyCustomChannel implements IChannelReceiverHook
{
private boolean portSet;
// Constructor for MyCustomChannel.
public MyCustomChannel(int port)
{
portSet = true;
} //MyCustomChannel
// Constructor for MyCustomChannel.
public MyCustomChannel()
{
portSet = false;
} //MyCustomChannel
/** @property
*/
public boolean get_WantsToListen()
{
if (portSet) {
return false;
}
else {
return true;
}
} //get_WantsToListen
private String myChannelScheme = "http";
/** @property
*/
public String get_ChannelScheme()
{
return myChannelScheme;
} //get_ChannelScheme
/** @property
*/
public IServerChannelSink get_ChannelSinkChain()
{
// Null implementation.
return null;
} //get_ChannelSinkChain
public void AddHookChannelUri(String channelUri)
{
// Null implementation.
} //AddHookChannelUri
} //MyCustomChannel
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
IChannelReceiverHook-Member
System.Runtime.Remoting.Channels-Namespace