IpcChannel.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

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 o método CreateMessageSink. Este exemplo de código faz parte de um exemplo maior fornecido para a IpcChannel classe .

// Create a message sink.
String^ objectUri;
System::Runtime::Remoting::Messaging::IMessageSink^ messageSink = channel->CreateMessageSink(
   L"ipc://localhost:9090/RemoteObject.rem", nullptr, objectUri );
Console::WriteLine( L"The URI of the message sink is {0}.", objectUri );
if ( messageSink != nullptr )
{
   Console::WriteLine( L"The type of the message sink is {0}.", messageSink->GetType() );
}
// Create a message sink.
string objectUri;
System.Runtime.Remoting.Messaging.IMessageSink messageSink =
    channel.CreateMessageSink(
        "ipc://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. url Os parâmetros ou remoteChannelData podem ser null, 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 ao fluxo usado pelo mecanismo de transporte para enviar mensagens para um objeto remoto. Coletores de canal são vinculados em uma cadeia de e todas as mensagens de ChannelSinkProviders canal fluem por essa cadeia de coletores antes que a mensagem seja finalmente serializada e transportada.

Aplica-se a