Поделиться через


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 вызов следующему поставщику приемника в цепочке (если таковой имеется) и гарантирует, что следующий приемник и текущий приемник связаны друг с другом.

Применяется к