Compartilhar via


IClientChannelSinkProvider.CreateSink(IChannelSender, String, Object) Método

Definição

Cria uma cadeia de coletores.

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

Parâmetros

channel
IChannelSender

Canal para o qual a cadeia de coletores atual está sendo construída.

url
String

A URL do objeto ao qual se conectar. Esse parâmetro pode ser null se a conexão se basear totalmente nas informações contidas no parâmetro remoteChannelData.

remoteChannelData
Object

Um objeto de dados de canal que descreve um canal no servidor remoto.

Retornos

IClientChannelSink

O primeiro coletor da cadeia de coletores de canal recém-criada ou null, que indica que esse provedor não fornecerá ou não poderá fornecer uma conexão para este ponto de extremidade.

Atributos

Exceções

O chamador imediato não tem permissão de infraestrutura.

Exemplos

O exemplo de código a seguir ilustra uma implementação desse método.

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) );
}

Comentários

Quando o CreateSink método é chamado, ele cria seu próprio coletor de canal, encaminha a CreateSink chamada para o próximo provedor de coletores na cadeia (se houver um) e garante que o próximo coletor e o atual estejam vinculados juntos.

Aplica-se a