IClientChannelSinkProvider.CreateSink(IChannelSender, String, Object) Methode

Definitie

Hiermee maakt u een sinkketen.

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

Parameters

channel
IChannelSender

Kanaal waarvoor de huidige sinkketen wordt gebouwd.

url
String

De URL van het object waarmee verbinding moet worden gemaakt. Deze parameter kan zijn null als de verbinding volledig is gebaseerd op de informatie in de remoteChannelData parameter.

remoteChannelData
Object

Een kanaalgegevensobject dat een kanaal beschrijft op de externe server.

Retouren

De eerste sink van de zojuist gevormde kanaalsinkketen, of null, wat aangeeft dat deze provider geen verbinding voor dit eindpunt kan bieden.

Kenmerken

Uitzonderingen

De directe beller heeft geen infrastructuurmachtiging.

Voorbeelden

In het volgende codevoorbeeld ziet u een implementatie van deze methode.

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

Opmerkingen

Wanneer de CreateSink methode wordt aangeroepen, wordt er een eigen kanaalsink gemaakt, wordt de CreateSink aanroep doorgestuurd naar de volgende sinkprovider in de keten (indien aanwezig) en wordt ervoor gezorgd dat de volgende sink en de huidige zijn gekoppeld.

Van toepassing op