IClientChannelSinkProvider Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt Clientchannelsenken für den Clientchannel, über den Remotemeldungen übertragen werden.
public interface class IClientChannelSinkProvider
public interface IClientChannelSinkProvider
[System.Runtime.InteropServices.ComVisible(true)]
public interface IClientChannelSinkProvider
type IClientChannelSinkProvider = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type IClientChannelSinkProvider = interface
Public Interface IClientChannelSinkProvider
- Abgeleitet
- Attribute
Beispiele
Das folgende Codebeispiel veranschaulicht eine Implementierung dieser Schnittstelle.
[System::Security::Permissions::PermissionSet(System::Security::
Permissions::SecurityAction::Demand, Name = "FullTrust")]
public ref class ClientSinkProvider: public IClientChannelSinkProvider
{
private:
// The next provider in the chain.
IClientChannelSinkProvider^ nextProvider;
public:
property IClientChannelSinkProvider^ Next
{
virtual IClientChannelSinkProvider^ get()
{
return (nextProvider);
}
virtual void set( IClientChannelSinkProvider^ value )
{
nextProvider = value;
}
}
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 ));
}
// This constructor is required in order to use the provider in file-based configuration.
// It need not do anything unless you want to use the information in the parameters.
ClientSinkProvider( IDictionary^ /*properties*/, ICollection^ /*providerData*/ ){}
};
public class ClientSinkProvider : IClientChannelSinkProvider
{
// The next provider in the chain.
private IClientChannelSinkProvider nextProvider;
public IClientChannelSinkProvider Next
{
get
{
return(nextProvider);
}
set
{
nextProvider = value;
}
}
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) );
}
// This constructor is required in order to use the provider in file-based configuration.
// It need not do anything unless you want to use the information in the parameters.
public ClientSinkProvider (IDictionary properties, ICollection providerData) {}
}
Ein Beispiel für die IClientChannelSink entsprechende Clientsenkeimplementierung finden Sie in der Schnittstellendokumentation.
Hinweise
Kanalsenken sind über Implementierungen der IClientChannelSinkProvider Schnittstelle mit einem Clientkanal verbunden. Alle Remotingclientkanäle stellen Konstruktoren bereit, die einen IClientChannelSinkProvider als Parameter verwenden.
Kanalsenkenanbieter werden in einer Kette gespeichert, und der Benutzer ist für das Verketten aller Kanalsenkenanbieter verantwortlich, bevor er den äußeren an den Kanalkonstruktor übergibt. IClientChannelSinkProvider stellt eine Eigenschaft bereit, die für diesen Zweck aufgerufen wird Next .
Wenn mehrere Kanalsenkenanbieter in einer Konfigurationsdatei angegeben werden, verkettet die Remotinginfrastruktur diese in der Reihenfolge, in der sie in der Konfigurationsdatei gefunden werden. Die Kanalsenkenanbieter werden erstellt, wenn der Kanal während des Anrufs RemotingConfiguration.Configure erstellt wird.
Eigenschaften
Next |
Ruft den nächsten Senkenprovider in der Kette der Channelsenkenprovider ab oder legt diesen fest. |
Methoden
CreateSink(IChannelSender, String, Object) |
Erstellt eine Senkenkette. |