IChannelReceiverHook.AddHookChannelUri(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет URI, в котором ловушка канала осуществляет прослушивание.
public:
void AddHookChannelUri(System::String ^ channelUri);
public void AddHookChannelUri (string channelUri);
[System.Security.SecurityCritical]
public void AddHookChannelUri (string channelUri);
abstract member AddHookChannelUri : string -> unit
[<System.Security.SecurityCritical>]
abstract member AddHookChannelUri : string -> unit
Public Sub AddHookChannelUri (channelUri As String)
Параметры
- channelUri
- String
URI, в котором ловушка канала осуществляет прослушивание.
- Атрибуты
Исключения
У непосредственно вызывающего объекта отсутствует разрешение инфраструктуры.
Примеры
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.
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.
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.
Комментарии
Клиентский код не должен вызывать этот метод напрямую.
Применяется к
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.