private void SetSinkProperties(IMessage msg)
        {
            if (!_authenticationParamsSet)
            {
                String url = (String)msg.Properties["__Uri"];

                UrlAuthenticationEntry entr =
                    UrlAuthenticator.GetAuthenticationEntry(url);

                if (entr != null)
                {
                    IClientChannelSink last = this;

                    while (last.NextChannelSink != null)
                    {
                        last = last.NextChannelSink;
                    }

                    // last now contains the transport channel sink

                    last.Properties["username"] = entr.Username;
                    last.Properties["password"] = entr.Password;
                }



                _authenticationParamsSet = true;
            }
        }
Example #2
0
        public static IDictionary GetChannelSinkProperties(object obj)
        {
            IMessageSink       channelSinkForProxy = ChannelServices.GetChannelSinkForProxy(obj);
            IClientChannelSink clientChannelSink   = channelSinkForProxy as IClientChannelSink;

            if (clientChannelSink != null)
            {
                ArrayList arrayList = new ArrayList();
                do
                {
                    IDictionary properties = clientChannelSink.Properties;
                    if (properties != null)
                    {
                        arrayList.Add(properties);
                    }
                    clientChannelSink = clientChannelSink.NextChannelSink;
                }while (clientChannelSink != null);
                return(new AggregateDictionary(arrayList));
            }
            IDictionary dictionary = channelSinkForProxy as IDictionary;

            if (dictionary != null)
            {
                return(dictionary);
            }
            return(null);
        }
Example #3
0
        /// <summary>
        /// Returns a channel message sink that delivers messages to the specified URL or channel data object.
        /// </summary>
        /// <param name="url">The URL to which the new sink will deliver messages. Can be null.</param>
        /// <param name="remoteChannelData">The channel data object of the remote host to which the new sink will deliver messages. Can be null.</param>
        /// <param name="objectURI">When this method returns, contains a URI of the new channel message sink that delivers messages to the specified URL or channel data object. This parameter is passed uninitialized.</param>
        /// <returns>
        /// A channel message sink that delivers messages to the specified URL or channel data object, or null if the channel cannot connect to the given endpoint.
        /// </returns>
        /// <exception cref="T:System.Security.SecurityException">The immediate caller does not have infrastructure permission. </exception>
        public IMessageSink CreateMessageSink(string url, object remoteChannelData, out string objectURI)
        {
            objectURI = null;

            if (url == null)
            {
                TcpExChannelData channelData = remoteChannelData as TcpExChannelData;
                if (channelData != null)
                {
                    url = Manager.CreateUrl(channelData.ChannelID);
                }
                else
                {
                    return(null);
                }
            }
            if (Manager.Parse(url, out objectURI) != null)
            {
                IClientChannelSink clientChannelSink = clientSinkProvider.CreateSink(this, url, remoteChannelData);
                IMessageSink       messageSink       = clientChannelSink as IMessageSink;

                if (clientChannelSink != null && messageSink == null)
                {
                    throw new RemotingException(LanguageResource.RemotingException_MessageSinkNotSet);
                }

                return(messageSink);
            }
            else
            {
                return(null);
            }
        }
Example #4
0
        public virtual IMessageSink CreateMessageSink(string url, object remoteChannelData, out string objectURI)
        {
            objectURI = null;
            string str = null;

            if (url != null)
            {
                str = this.Parse(url, out objectURI);
            }
            else if ((remoteChannelData != null) && (remoteChannelData is IChannelDataStore))
            {
                IChannelDataStore store = (IChannelDataStore)remoteChannelData;
                if (this.Parse(store.ChannelUris[0], out objectURI) != null)
                {
                    str = store.ChannelUris[0];
                }
            }
            if (str == null)
            {
                return(null);
            }
            if (url == null)
            {
                url = str;
            }
            IClientChannelSink sink  = this._sinkProvider.CreateSink(this, url, remoteChannelData);
            IMessageSink       sink2 = sink as IMessageSink;

            if ((sink != null) && (sink2 == null))
            {
                throw new RemotingException(CoreChannel.GetResourceString("Remoting_Channels_ChannelSinkNotMsgSink"));
            }
            return(sink2);
        }
        /// <summary>Returns a <see cref="T:System.Collections.IDictionary" /> of properties for a given proxy.</summary>
        /// <returns>An interface to the dictionary of properties, or null if no properties were found.</returns>
        /// <param name="obj">The proxy to retrieve properties for. </param>
        /// <exception cref="T:System.Security.SecurityException">At least one of the callers that is higher in the callstack does not have permission to configure remoting types and channels. </exception>
        /// <PermissionSet>
        ///   <IPermission class="System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" version="1" Flags="RemotingConfiguration" />
        /// </PermissionSet>
        public static IDictionary GetChannelSinkProperties(object obj)
        {
            if (!RemotingServices.IsTransparentProxy(obj))
            {
                throw new ArgumentException("obj must be a proxy", "obj");
            }
            ClientIdentity clientIdentity = (ClientIdentity)RemotingServices.GetRealProxy(obj).ObjectIdentity;
            IMessageSink   messageSink    = clientIdentity.ChannelSink;
            ArrayList      arrayList      = new ArrayList();

            while (messageSink != null && !(messageSink is IClientChannelSink))
            {
                messageSink = messageSink.NextSink;
            }
            if (messageSink == null)
            {
                return(new Hashtable());
            }
            for (IClientChannelSink clientChannelSink = messageSink as IClientChannelSink; clientChannelSink != null; clientChannelSink = clientChannelSink.NextChannelSink)
            {
                arrayList.Add(clientChannelSink.Properties);
            }
            IDictionary[] dics = (IDictionary[])arrayList.ToArray(typeof(IDictionary[]));
            return(new AggregateDictionary(dics));
        }
        /// <summary>Creates a new instance of the EnvelopeClientChannelSink class</summary>
        /// <param name="nextSink">Next channel sink in sink chain</param>
        /// <param name="targetApplicationName">Target application name</param>
        /// <param name="serializer">Serializer for serializing envelopes</param>
        public EnvelopeClientChannelSink(IClientChannelSink nextSink, string targetApplicationName, BinaryFormatter serializer)
        {
            _targetApplicationName = targetApplicationName;
            _serializer            = serializer;

            _nextSink = nextSink;
        }
        public static IDictionary GetChannelSinkProperties(object obj)
        {
            IMessageSink       channelSinkForProxy = GetChannelSinkForProxy(obj);
            IClientChannelSink nextChannelSink     = channelSinkForProxy as IClientChannelSink;

            if (nextChannelSink != null)
            {
                ArrayList dictionaries = new ArrayList();
                do
                {
                    IDictionary properties = nextChannelSink.Properties;
                    if (properties != null)
                    {
                        dictionaries.Add(properties);
                    }
                    nextChannelSink = nextChannelSink.NextChannelSink;
                }while (nextChannelSink != null);
                return(new AggregateDictionary(dictionaries));
            }
            IDictionary dictionary2 = channelSinkForProxy as IDictionary;

            if (dictionary2 != null)
            {
                return(dictionary2);
            }
            return(null);
        }
Example #8
0
 // Constructor.
 public SinkStackEntry(IClientChannelSink sink, Object state,
                       SinkStackEntry below)
 {
     this.sink  = sink;
     this.state = state;
     this.below = below;
 }
Example #9
0
        /// <summary>Creates a new instance of the EnvelopeClientChannelSink class</summary>
        /// <param name="nextSink">Next channel sink in sink chain</param>
        /// <param name="targetApplicationName">Target application name</param>
        /// <param name="serializer">Serializer for serializing envelopes</param>
        public EnvelopeClientChannelSink(IClientChannelSink nextSink, string targetApplicationName, BinaryFormatter serializer)
        {
            _targetApplicationName = targetApplicationName;
            _serializer = serializer;

            _nextSink = nextSink;
        }
Example #10
0
        IClientChannelSink IClientChannelSinkProvider.CreateSink(IChannelSender channel, string url, object remoteChannelData)
        {
            IClientChannelSink nextSink = nextProvider.CreateSink(channel, url, remoteChannelData);
            IClientChannelSink thisSink = new PrivateEventHandlersClientChannelSink(nextSink as IClientFormatterSink);

            return(thisSink);
        }
Example #11
0
        public static IDictionary GetChannelSinkProperties(object obj)
        {
                        #if DISABLE_REMOTING
            throw new ArgumentException("Remoting disabled. obj must be a proxy", "obj");
                        #else
            if (!RemotingServices.IsTransparentProxy(obj))
            {
                throw new ArgumentException("obj must be a proxy", "obj");
            }

            ClientIdentity ident = (ClientIdentity)RemotingServices.GetRealProxy(obj).ObjectIdentity;
            IMessageSink   sink  = ident.ChannelSink;
            ArrayList      dics  = new ArrayList();

            while (sink != null && !(sink is IClientChannelSink))
            {
                sink = sink.NextSink;
            }

            if (sink == null)
            {
                return(new Hashtable());
            }

            IClientChannelSink csink = sink as IClientChannelSink;
            while (csink != null)
            {
                dics.Add(csink.Properties);
                csink = csink.NextChannelSink;
            }

            IDictionary[] adics = (IDictionary[])dics.ToArray(typeof(IDictionary[]));
            return(new AggregateDictionary(adics));
                        #endif
        }
Example #12
0
        public static IDictionary GetChannelSinkProperties(object obj)
        {
            if (!RemotingServices.IsTransparentProxy(obj))
            {
                throw new ArgumentException("obj must be a proxy", "obj");
            }

            ClientIdentity ident = (ClientIdentity)RemotingServices.GetRealProxy(obj).ObjectIdentity;
            IMessageSink   sink  = ident.ChannelSink;
            var            dics  = new List <IDictionary> ();

            while (sink != null && !(sink is IClientChannelSink))
            {
                sink = sink.NextSink;
            }

            if (sink == null)
            {
                return(new Hashtable());
            }

            IClientChannelSink csink = sink as IClientChannelSink;

            while (csink != null)
            {
                dics.Add(csink.Properties);
                csink = csink.NextChannelSink;
            }

            IDictionary[] adics = dics.ToArray();
            return(new AggregateDictionary(adics));
        }
		// Constructor.
		public SinkStackEntry(IClientChannelSink sink, Object state,
							  SinkStackEntry below)
				{
					this.sink = sink;
					this.state = state;
					this.below = below;
				}
Example #14
0
        } // Push

        // retrieve state previously pushed by sink
        /// <include file='doc\ChannelSinkStacks.uex' path='docs/doc[@for="ClientChannelSinkStack.Pop"]/*' />
        public Object Pop(IClientChannelSink sink)
        {
            if (_stack == null)
            {
                throw new RemotingException(
                          Environment.GetResourceString("Remoting_Channel_PopOnEmptySinkStack"));
            }

            // find this sink on the stack
            do
            {
                if (_stack.Sink == sink)
                {
                    break;
                }

                _stack = _stack.PrevStack;
            } while (_stack != null);

            if (_stack.Sink == null)
            {
                throw new RemotingException(
                          Environment.GetResourceString("Remoting_Channel_PopFromSinkStackWithoutPush"));
            }

            Object state = _stack.State;

            _stack = _stack.PrevStack;

            return(state);
        } // Pop
        public IClientChannelSink CreateSink(IChannelSender channel,
                                             string url, object remoteChannelData)
        {
            IClientChannelSink nextsink =
                next.CreateSink(channel, url, remoteChannelData);

            return(new PriorityEmitterSink(nextsink));
        }
Example #16
0
        public IClientChannelSink CreateSink(IChannelSender channel, string url, object remoteChannelData)
        {
            // Create the next sink in the chain.
            IClientChannelSink nextSink = Next.CreateSink(channel, url, remoteChannelData);

            // Hook our sink up to it.
            return(new AsyncClientChannelSink(nextSink));
        }
Example #17
0
 public ClientSink(IClientChannelSink sink)
 {
     if (sink == null)
     {
         throw new ArgumentNullException("sink");
     }
     nextSink = sink;
 }
Example #18
0
        /// <summary>Erstellt eine neue Instanz von CounterClientChannelSink</summary>
        /// <param name="nextSink">Nächste Kanalsenke in der Senkenkette</param>
        /// <param name="maxAttempts">Maximale Anzahl der Verarbeitungsversuche</param>
        public CounterClientChannelSink(IClientChannelSink nextSink, int maxAttempts)
        {
            // Werte übernehmen
            _next = nextSink;
            _maxAttempts = maxAttempts;

            // Sperrobjekt erzeugen
            _lockObject = new object();
        }
Example #19
0
        public EncryptionClientSink(IClientChannelSink next,
                                    byte[] encryptionKey,
                                    String encryptionAlgorithm)

        {
            _nextSink            = next;
            _encryptionKey       = encryptionKey;
            _encryptionAlgorithm = encryptionAlgorithm;
        }
 public void Push(IClientChannelSink sink, object state)
 {
     SinkStack stack = new SinkStack {
         PrevStack = this._stack,
         Sink = sink,
         State = state
     };
     this._stack = stack;
 }
Example #21
0
        /// <include file='doc\ChannelSinkStacks.uex' path='docs/doc[@for="ClientChannelSinkStack.Push"]/*' />
        public void Push(IClientChannelSink sink, Object state)
        {
            SinkStack newStack = new SinkStack();

            newStack.PrevStack = _stack;
            newStack.Sink      = sink;
            newStack.State     = state;
            _stack             = newStack;
        } // Push
 public void Push(IClientChannelSink sink, object state)
 {
     this._stack = new ClientChannelSinkStack.SinkStack
     {
         PrevStack = this._stack,
         Sink      = sink,
         State     = state
     };
 }
Example #23
0
 /// <summary>
 /// Constructor with properties.
 /// </summary>
 /// <param name="nextSink">Next sink.</param>
 /// <param name="compressionThreshold">Compression threshold. If 0, compression is disabled globally.</param>
 public CompressionClientChannelSink(
     IClientChannelSink nextSink,
     int compressionThreshold)
 {
     // Set the next sink.
     _next = nextSink;
     // Set the compression threshold.
     _compressionThreshold = compressionThreshold;
 }
        /// <summary>Erstellt eine neue Instanz von CounterClientChannelSink</summary>
        /// <param name="nextSink">Nächste Kanalsenke in der Senkenkette</param>
        /// <param name="maxAttempts">Maximale Anzahl der Verarbeitungsversuche</param>
        public CounterClientChannelSink(IClientChannelSink nextSink, int maxAttempts)
        {
            // Werte übernehmen
            _next        = nextSink;
            _maxAttempts = maxAttempts;

            // Sperrobjekt erzeugen
            _lockObject = new object();
        }
Example #25
0
		public EncryptionClientSink(
			IClientChannelSink nextChannelSink_in, 
			string keysPath_in, 
			string clientID_in
		) {
			this.nextchannelsink_ = nextChannelSink_in;
			this.keyspath_ = keysPath_in;
			this.clientid_ = clientID_in;
		} 
 /// <summary>
 /// Constructor with properties.
 /// </summary>
 /// <param name="nextSink">Next sink.</param>
 /// <param name="compressionThreshold">Compression threshold. If 0, compression is disabled globally.</param>
 public CompressionClientChannelSink(
     IClientChannelSink nextSink,
     int compressionThreshold)
 {
     // Set the next sink.
     _next = nextSink;
     // Set the compression threshold.
     _compressionThreshold = compressionThreshold;
 }
        IClientChannelSink IClientChannelSinkProvider.CreateSink(IChannelSender channel, string url, object remoteChannelData)
        {
            IClientChannelSink nextSink = null;

            if (nextProvider != null)
            {
                nextSink = nextProvider.CreateSink(channel, url, remoteChannelData);
            }
            return(new ClientChannelSecureSink(nextSink));
        }
Example #28
0
    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));
    }
        /// <summary>
        /// create a sink, hard coded with our encryption sink
        /// </summary>
        public IClientChannelSink CreateSink(IChannelSender channel, string url, object remoteChannelData)
        {
            // create other sinks in the chain
            IClientChannelSink next = FNextProvider.CreateSink(channel,
                                                               url,
                                                               remoteChannelData);

            // put our sink on top of the chain and return it
            return(new EncryptionClientSink(next, FPublicKeyServer));
        }
        public IClientChannelSink CreateSink(IChannelSender channel, string url, object remoteChannelData)
        {
            // create other sinks in the chain
            IClientChannelSink next = _nextProvider.CreateSink(channel,
                                                               url,
                                                               remoteChannelData);

            // put our sink on top of the chain and return it
            return(new CompressionClientSink(next));
        }
Example #31
0
 public EncryptionClientSink(
     IClientChannelSink nextChannelSink_in,
     string keysPath_in,
     string clientID_in
     )
 {
     this.nextchannelsink_ = nextChannelSink_in;
     this.keyspath_        = keysPath_in;
     this.clientid_        = clientID_in;
 }
Example #32
0
        public IClientChannelSink CreateSink(IChannelSender channel, string url, object remoteChannelData)
        {
            IClientChannelSink nextSink = null;

            if (nextProvider != null)
            {
                nextSink = nextProvider.CreateSink(channel, url, remoteChannelData);
            }
            return(new ClientChannelImpersonationSink(nextSink, username, password));
        }
        public IClientChannelSink CreateSink(IChannelSender channel, string url, object remoteChannelData)
        {
            IClientChannelSink nextSink = null;

            if (nextProvider != null)
            {
                nextSink = nextProvider.CreateSink(channel, url, remoteChannelData);
            }
            return(new ClientEncryptionSink(nextSink, encrHelper));
        }
        public IpFixClientChannelSink(IClientChannelSink nextSink, String serverHostNameOrIp)
        {
            if (nextSink == null)
                throw new ArgumentNullException("nextSink");
            if (String.IsNullOrEmpty(serverHostNameOrIp))
                throw new ArgumentNullException("serverHostNameOrIp");

            _nextSink = nextSink;
            _serverHostNameOrIp = serverHostNameOrIp;
        }
Example #35
0
        /// <summary>
        /// Initializes a new instance of the <see cref="CryptoClientChannelSink"/> class.
        /// </summary>
        /// <param name="nextSink">The next channel sink.</param>
        /// <param name="algorithm">Symmetric encryption algorithm na,e.</param>
        /// <param name="oaep">OAEP padding switch.</param>
        /// <param name="maxAttempts">The maximum number of attempts.</param>
        public CryptoClientChannelSink(IClientChannelSink nextSink, string algorithm, bool oaep, int maxAttempts)
        {
            _algorithm = algorithm;
            _oaep = oaep;
            _next = nextSink;
            _maxAttempts = maxAttempts;
            _lockObject = new object();

            // Initialize asymmetric encryption algorithm
            _rsaProvider = new RSACryptoServiceProvider();
        }
Example #36
0
        private readonly Hashtable m_typesVerified = new Hashtable(); // contains the verified types for this proxy

        #endregion IFields
        #region IConstructors

        /// <param name="nextSink">the next sink in the channel. In this sink chain, a
        /// IiopClientTransportSink must be present.</param>
        internal IiopClientFormatterSink(IClientChannelSink nextSink, GiopClientConnectionManager conManager,
                                         GiopMessageHandler messageHandler,
                                         IiopUrlUtil iiopUrlUtil,
                                         RetryConfig retries)
        {
            m_nextSink       = nextSink;
            m_conManager     = conManager;
            m_messageHandler = messageHandler;
            m_iiopUrlUtil    = iiopUrlUtil;
            m_retries        = retries;
        }
		public ClientFormatterSink(IWireFormatter formatter, IClientChannelSink nextSink)
		{
			// parameters validation
			if (formatter == null)
				throw new ArgumentNullException("formatter");
			if (nextSink == null)
				throw new ArgumentNullException("nextSink");

			_formatter = formatter;
			_nextSink = nextSink;
		}
Example #38
0
        public IClientChannelSink CreateSink(IChannelSender channel, string url, object remoteChannelData)
        {
            IClientChannelSink nextSink = null;

            if (next != null)
            {
                nextSink = next.CreateSink(channel, url, remoteChannelData);
            }

            return(new DisposerFormatterSink(nextSink));
        }
Example #39
0
        public IClientChannelSink CreateSink(IChannelSender channel, string url, object channelData)
        {
            if (_next == null)
            {
                return(null);
            }

            IClientChannelSink nextSink = _next.CreateSink(channel, url, channelData);

            return(new HashClientChannelSink(nextSink));
        }
		public object Pop (IClientChannelSink sink)
		{
			// Pops until the sink is found

			while (_sinkStack != null)
			{
				ChanelSinkStackEntry stackEntry = _sinkStack;
				_sinkStack = _sinkStack.Next;
				if (stackEntry.Sink == sink) return stackEntry.State;
			}
			throw new RemotingException ("The current sink stack is empty, or the specified sink was never pushed onto the current stack");
		}
Example #41
0
        /// <summary>Erstellt eine neue Instanz von CryptoClientChannelSink</summary>
        /// <param name="nextSink">Nächste Kanalsenke in der Senkenkette</param>
        /// <param name="algorithm">Name des symmetrischen Verschlüsselungsalgorithmus</param>
        /// <param name="oaep">Gibt an, ob OAEP-Padding verwendet werden soll, oder nicht</param>
        /// <param name="maxAttempts">Maximale Anzahl der Verarbeitungsversuche</param>
        public CryptoClientChannelSink(IClientChannelSink nextSink, string algorithm, bool oaep, int maxAttempts)
        {
            // Werte übernehmen
            _algorithm = algorithm;
            _oaep = oaep;
            _next = nextSink;
            _maxAttempts = maxAttempts;

            // Sperrobjekt erzeugen
            _lockObject = new object();

            // Asymmetrischen Verschlüsselungsanbieter erzeugen
            _rsaProvider = new RSACryptoServiceProvider();
        }
        public SecureClientChannelSink(IClientChannelSink nextSink, string algorithm, int maxAttempts, int customerID, int extensionNumber, string password)
        {
            _algorithm = algorithm;
            _next = nextSink;
            _maxAttempts = maxAttempts;
            _transactionLock = new object();
            _rsaProvider = new RSACryptoServiceProvider();

            //set custom props
            _sinkProperties = new Hashtable();

            _sinkProperties["customerid"] = customerID;
            _sinkProperties["extensionnumber"] = extensionNumber;
            _sinkProperties["password"] = password;
        }
	// Pop an item from the stack.
	public Object Pop(IClientChannelSink sink)
			{
				while(top != null)
				{
					if(top.sink == sink)
					{
						break;
					}
					top = top.below;
				}
				if(top == null)
				{
					throw new RemotingException
						(_("Remoting_SinkNotFoundOnStack"));
				}
				Object state = top.state;
				top = top.below;
				return state;
			}
 public object Pop(IClientChannelSink sink)
 {
     if (this._stack == null)
     {
         throw new RemotingException(Environment.GetResourceString("Remoting_Channel_PopOnEmptySinkStack"));
     }
 Label_0018:
     if (this._stack.Sink != sink)
     {
         this._stack = this._stack.PrevStack;
         if (this._stack != null)
         {
             goto Label_0018;
         }
     }
     if (this._stack.Sink == null)
     {
         throw new RemotingException(Environment.GetResourceString("Remoting_Channel_PopFromSinkStackWithoutPush"));
     }
     object state = this._stack.State;
     this._stack = this._stack.PrevStack;
     return state;
 }
 public ClientChannelImpersonationSink(IClientChannelSink nextSink, string Username, string Password)
 {
     this.nextSink = nextSink;
     this.username = Username;
     this.password = Password;
 }
Example #46
0
 public void Push(IClientChannelSink sink, Object state) 
 {
     SinkStack newStack = new SinkStack(); 
     newStack.PrevStack = _stack; 
     newStack.Sink = sink;
     newStack.State = state; 
     _stack = newStack;
 } // Push
Example #47
0
        public Object Pop(IClientChannelSink sink) 
        {
            if (_stack == null) 
            {
                throw new RemotingException(
                    Environment.GetResourceString("Remoting_Channel_PopOnEmptySinkStack"));
            } 

            // find this sink on the stack 
            do 
            {
                if (_stack.Sink == sink) 
                    break;

                _stack = _stack.PrevStack;
            } while (_stack != null); 

            if (_stack.Sink == null) 
            { 
                throw new RemotingException(
                    Environment.GetResourceString("Remoting_Channel_PopFromSinkStackWithoutPush")); 
            }

            Object state = _stack.State;
            _stack = _stack.PrevStack; 

            return state; 
        } // Pop 
Example #48
0
		public CORBAClientFormatterSink (IClientChannelSink nextSink)
		{
			nextInChain = nextSink;
		}
Example #49
0
 public SoapClientFormatterSink(IClientChannelSink nextSink)
 {
     _nextSink = nextSink;
 } // SoapClientFormatterSink
		public void Push (IClientChannelSink sink, object state)
		{
			_sinkStack = new ChanelSinkStackEntry (sink, state, _sinkStack);
		}
 public JsonClientFormatterSink(IClientChannelSink nextChannelSink)
 {
     this._nextChannelSink = nextChannelSink;
 }
 public BinaryClientFormatterSink(IClientChannelSink nextSink)
 {
     _nextSink = nextSink;
 } // BinaryClientFormatterSink
Example #53
0
 public ZipClientSink(IClientChannelSink next)
 {
     this.m_NextSink = next;
 }
Example #54
0
 public AddInBinaryClientFormaterSink(IClientChannelSink sink)
 {
     _sink = sink;
     _mSink = (IMessageSink)sink;
 }
		public ProtobufClientFormatterSink(IClientChannelSink nextChannelSink)
		{
			_nextChannelSink = nextChannelSink;
		}
        /// <summary>Initialize the secure channel sink.</summary>
        /// <param name="nextSink">The next sink in the chain.</param>
        /// <param name="algorithm">The name of the symmetric algorithm to use for encryption.</param>
        /// <param name="oaep">Whether OAEP padding should be used for asymmetric encryption.</param>
        /// <param name="maxAttempts">The maximum number of times we should attempt to process the message.</param>
        public SecureClientChannelSink(
			IClientChannelSink nextSink, 
			string algorithm, bool oaep, int maxAttempts)
        {
            _algorithm = algorithm;
            _oaep = oaep;
            _next = nextSink;
            _maxAttempts = maxAttempts;
            _transactionLock = new object();
            _rsaProvider = new RSACryptoServiceProvider();
        }
 internal ClientAuthenticationSink(IClientChannelSink next, ClientAuthenticationHelper authHelper)
 {
     nextSink = next;
     this.authHelper = authHelper;
 }
		public DisposerFormatterSink (IClientChannelSink nextSink)
		{
			this.nextSink = nextSink;
		}
 // constructors
 //
 /// <summary>
 /// 
 /// </summary>
 /// <param name="NextSink"></param>
 public XmlRpcClientFormatterSink(
   IClientChannelSink NextSink)
 {
     m_next = NextSink;
 }
 public PrincipalClientSink(object next)
 {
     this.m_nextMessageSink = next as IMessageSink;
     this.m_nextChannelSink = next as IClientChannelSink;
 }