IClientChannelSinkProvider.CreateSink(IChannelSender, String, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создает цепочку приемников.
public:
System::Runtime::Remoting::Channels::IClientChannelSink ^ CreateSink(System::Runtime::Remoting::Channels::IChannelSender ^ channel, System::String ^ url, System::Object ^ remoteChannelData);
public System.Runtime.Remoting.Channels.IClientChannelSink CreateSink (System.Runtime.Remoting.Channels.IChannelSender channel, string url, object remoteChannelData);
[System.Security.SecurityCritical]
public System.Runtime.Remoting.Channels.IClientChannelSink CreateSink (System.Runtime.Remoting.Channels.IChannelSender channel, string url, object remoteChannelData);
abstract member CreateSink : System.Runtime.Remoting.Channels.IChannelSender * string * obj -> System.Runtime.Remoting.Channels.IClientChannelSink
[<System.Security.SecurityCritical>]
abstract member CreateSink : System.Runtime.Remoting.Channels.IChannelSender * string * obj -> System.Runtime.Remoting.Channels.IClientChannelSink
Public Function CreateSink (channel As IChannelSender, url As String, remoteChannelData As Object) As IClientChannelSink
Параметры
- channel
- IChannelSender
Канал, для которого создается текущая цепь приемников.
- url
- String
URL-адрес объекта, к которому необходимо подключиться. Этот параметр может иметь значение null
, если подключение полностью основано на сведениях, содержащихся в параметре remoteChannelData
.
- remoteChannelData
- Object
Объект данных канала, описывающий канал на удаленном сервере.
Возвращаемое значение
Первый приемник заново сформированной цепи канала или null
, указывающий, что этот поставщик не может обеспечить подключение для этой оконечной точки.
- Атрибуты
Исключения
У непосредственно вызывающего объекта отсутствует разрешение инфраструктуры.
Примеры
В следующем примере кода показана реализация этого метода.
virtual IClientChannelSink^ CreateSink( IChannelSender^ channel, String^ url, Object^ remoteChannelData )
{
Console::WriteLine( "Creating ClientSink for {0}", url );
// Create the next sink in the chain.
IClientChannelSink^ nextSink = nextProvider->CreateSink( channel, url, remoteChannelData );
// Hook our sink up to it.
return (gcnew ClientSink( nextSink ));
}
public IClientChannelSink CreateSink (IChannelSender channel, String url, Object remoteChannelData)
{
Console.WriteLine("Creating ClientSink for {0}", url);
// Create the next sink in the chain.
IClientChannelSink nextSink = nextProvider.CreateSink(channel, url, remoteChannelData);
// Hook our sink up to it.
return( new ClientSink(nextSink) );
}
Комментарии
При вызове CreateSink метода он создает собственный приемник канала, пересылает CreateSink вызов следующему поставщику приемника в цепочке (если таковой имеется) и гарантирует, что следующий приемник и текущий приемник связаны друг с другом.