TcpChannel.CreateMessageSink(String, Object, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 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.