IChannelReceiverHook.AddHookChannelUri-Methode
Fügt einen URI hinzu, an dem der Channelhook überwacht.
Namespace: System.Runtime.Remoting.Channels
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Sub AddHookChannelUri ( _
channelUri As String _
)
'Usage
Dim instance As IChannelReceiverHook
Dim channelUri As String
instance.AddHookChannelUri(channelUri)
void AddHookChannelUri (
string channelUri
)
void AddHookChannelUri (
String^ channelUri
)
void AddHookChannelUri (
String channelUri
)
function AddHookChannelUri (
channelUri : String
)
Parameter
- channelUri
Ein URI, an dem der Channelhook überwacht.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Der direkte Aufrufer verfügt nicht über die Berechtigung für die Infrastruktur. |
Hinweise
Diese Methode darf nicht direkt vom Clientcode aufgerufen werden.
Beispiel
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.
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.
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.
/** @attribute SecurityPermission(SecurityAction.Demand,
Flags = SecurityPermissionFlag.Infrastructure)
*/
/** @attribute SecurityPermission(SecurityAction.InheritanceDemand, Flags = SecurityPermissionFlag.Infrastructure)
*/
class CustomChannel extends BaseChannelWithProperties
implements IChannelReceiverHook,IChannelReceiver,IChannel,IChannelSender
{
public void AddHookChannelUri(String channelUri)
{
if (channelUri != null) {
String uris[] = dataStore.get_ChannelUris();
// This implementation only allows one URI to be hooked in.
if (uris == null) {
String newUris[] = new String[1];
newUris.set_Item(0, channelUri);
dataStore.set_ChannelUris(newUris);
wantsToListen = false;
}
else {
try {
String msg = "This channel is already listening for "
+ "data, and can't be hooked into at this stage.";
}
catch (System.Runtime.Remoting.RemotingException srrre) {
}
}
}
} //AddHookChannelUri
// The rest of CustomChannel's implementation.
.NET Framework-Sicherheit
- SecurityPermission für die Verwendung von Infrastrukturcode. Anforderungswert: SecurityAction.LinkDemand; Berechtigungswert: SecurityPermissionFlag.Infrastructure
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-Schnittstelle
IChannelReceiverHook-Member
System.Runtime.Remoting.Channels-Namespace