IClientChannelSinkProvider Arabirim
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
uzaktan iletişim iletilerinin aktığı istemci kanalı için istemci kanalı havuzları oluşturur.
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
- Türetilmiş
- Öznitelikler
Örnekler
Aşağıdaki kod örneği, bu arabirimin bir uygulamasını gösterir.
[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) {}
}
IClientChannelSink İlgili istemci havuzu uygulaması örneği için arabirim belgelerine bakın.
Açıklamalar
Kanal havuzları, arabirimin uygulamaları aracılığıyla bir istemci kanalına IClientChannelSinkProvider bağlanır. Tüm uzaktan iletişim istemci kanalları parametre olarak alan IClientChannelSinkProvider oluşturucular sağlar.
Kanal havuzu sağlayıcıları bir zincirde depolanır ve dış havuz sağlayıcısını kanal oluşturucuya geçirmeden önce tüm kanal havuzu sağlayıcılarını zincirleme sorumluluğu kullanıcıya aittir. IClientChannelSinkProvider bu amaçla adlı Next bir özellik sağlar.
Yapılandırma dosyasında birden çok kanal havuzu sağlayıcısı belirtildiğinde uzaktan iletişim altyapısı bunları yapılandırma dosyasında bulundukları sırayla birbirine zincirler. Kanal havuz sağlayıcıları, çağrı sırasında RemotingConfiguration.Configure kanal oluşturulduğunda oluşturulur.
Özellikler
Next |
Kanal havuz sağlayıcısı zincirindeki sonraki havuz sağlayıcısını alır veya ayarlar. |
Yöntemler
CreateSink(IChannelSender, String, Object) |
Havuz zinciri oluşturur. |