Compartilhar via


TcpChannel.CreateMessageSink(String, Object, String) Método

Definição

Retorna um coletor de mensagem de canal que entrega mensagens ao objeto de dados de URL ou de canal especificado.

public:
 virtual System::Runtime::Remoting::Messaging::IMessageSink ^ CreateMessageSink(System::String ^ url, System::Object ^ remoteChannelData, [Runtime::InteropServices::Out] System::String ^ % objectURI);
public System.Runtime.Remoting.Messaging.IMessageSink CreateMessageSink (string url, object remoteChannelData, out string objectURI);
abstract member CreateMessageSink : string * obj * string -> System.Runtime.Remoting.Messaging.IMessageSink
override this.CreateMessageSink : string * obj * string -> System.Runtime.Remoting.Messaging.IMessageSink
Public Function CreateMessageSink (url As String, remoteChannelData As Object, ByRef objectURI As String) As IMessageSink

Parâmetros

url
String

A URL à qual o novo coletor deverá entregar mensagens. Pode ser null.

remoteChannelData
Object

O objeto de dados de canal do host remoto ao qual o novo coletor deverá entregar mensagens. Pode ser null.

objectURI
String

Quando este método retorna, contém um URI do novo coletor de mensagem de canal que entrega mensagens ao objeto de dados de URL ou de canal especificado. Este parâmetro é passado não inicializado.

Retornos

IMessageSink

Um coletor de mensagem de canal que entrega mensagens ao objeto de dados de URL ou de canal especificado.

Implementações

Exemplos

O exemplo de código a seguir mostra como usar esse método.

// Create a message sink.
String^ objectUri;
System::Runtime::Remoting::Messaging::IMessageSink^ messageSink = 
    clientChannel->CreateMessageSink(
        "tcp://localhost:9090/RemoteObject.rem", nullptr,
        objectUri);
Console::WriteLine("The URI of the message sink is {0}.", 
    objectUri);
if (messageSink != nullptr)
{
    Console::WriteLine("The type of the message sink is {0}.", 
        messageSink->GetType()->ToString());
}
// Create a message sink.
string objectUri;
System.Runtime.Remoting.Messaging.IMessageSink messageSink =
    clientChannel.CreateMessageSink(
        "tcp://localhost:9090/RemoteObject.rem", null,
        out objectUri);
Console.WriteLine("The URI of the message sink is {0}.",
    objectUri);
if (messageSink != null)
{
    Console.WriteLine("The type of the message sink is {0}.",
        messageSink.GetType().ToString());
}

Comentários

O CreateMessageSink método retorna um coletor de mensagens de canal que fornece mensagens para a URL especificada ou o objeto de dados de canal. Se o uri parâmetro for null, remoteChannelData será usado como um destino para o coletor. Os parâmetros ou remoteChannelData os url parâmetros podem sernull, mas não ambos.

Os coletores de canal fornecem um ponto de plug-in que permite o acesso às mensagens subjacentes que fluem pelo canal, bem como o fluxo usado pelo mecanismo de transporte para enviar mensagens para um objeto remoto. Coletores de canal são vinculados em uma cadeia de ChannelSinkProviders e todas as mensagens de canal fluem por essa cadeia de coletores antes que a mensagem seja finalmente serializada e transportada.

Aplica-se a