SoapClientFormatterSinkProvider.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // created on 20/05/2003 at 12:33
  2. using System.Collections;
  3. using System.Runtime.Remoting.Messaging;
  4. namespace System.Runtime.Remoting.Channels {
  5. public class SoapClientFormatterSinkProvider: IClientFormatterSinkProvider,
  6. IClientChannelSinkProvider
  7. {
  8. private IClientChannelSinkProvider _nextClientChannelSinkProvider;
  9. SoapCore _soapCore;
  10. public SoapClientFormatterSinkProvider()
  11. {
  12. _soapCore = SoapCore.DefaultInstance;
  13. }
  14. public SoapClientFormatterSinkProvider(IDictionary properties,
  15. ICollection providerData)
  16. {
  17. _soapCore = new SoapCore (this, properties);
  18. }
  19. public virtual IClientChannelSinkProvider Next
  20. {
  21. get { return _nextClientChannelSinkProvider;}
  22. set { _nextClientChannelSinkProvider = value;}
  23. }
  24. public virtual IClientChannelSink CreateSink( IChannelSender channel,
  25. string url,
  26. object remoteChannelData)
  27. {
  28. IClientChannelSink _nextSink = _nextClientChannelSinkProvider.CreateSink(channel, url, remoteChannelData);
  29. SoapClientFormatterSink scfs = new SoapClientFormatterSink(_nextSink);
  30. scfs.SoapCore = _soapCore;
  31. return scfs;
  32. }
  33. }
  34. }