/// <summary>
        /// Saves the settings so the channel can be opened later.
        /// </summary>
        /// <param name="url">The URL.</param>
        /// <param name="settings">The settings.</param>
        private void SaveSettings(Uri url, TransportChannelSettings settings)
        {
            // save the settings.
            m_url              = url;
            m_settings         = settings;
            m_operationTimeout = settings.Configuration.OperationTimeout;

            // initialize the quotas.
            m_quotas = new ChannelQuotas();

            m_quotas.MaxBufferSize         = m_settings.Configuration.MaxBufferSize;
            m_quotas.MaxMessageSize        = m_settings.Configuration.MaxMessageSize;
            m_quotas.ChannelLifetime       = m_settings.Configuration.ChannelLifetime;
            m_quotas.SecurityTokenLifetime = m_settings.Configuration.SecurityTokenLifetime;

            m_quotas.MessageContext = new ServiceMessageContext();

            m_quotas.MessageContext.MaxArrayLength      = m_settings.Configuration.MaxArrayLength;
            m_quotas.MessageContext.MaxByteStringLength = m_settings.Configuration.MaxByteStringLength;
            m_quotas.MessageContext.MaxMessageSize      = m_settings.Configuration.MaxMessageSize;
            m_quotas.MessageContext.MaxStringLength     = m_settings.Configuration.MaxStringLength;
            m_quotas.MessageContext.NamespaceUris       = m_settings.NamespaceUris;
            m_quotas.MessageContext.ServerUris          = new StringTable();
            m_quotas.MessageContext.Factory             = m_settings.Factory;

            m_quotas.CertificateValidator = settings.CertificateValidator;

            // create the buffer manager.
            m_bufferManager = new BufferManager("Client", (int)Int32.MaxValue, settings.Configuration.MaxBufferSize);
        }
Пример #2
0
 /// <summary>
 /// Initializes a secure channel with the endpoint identified by the connection.
 /// </summary>
 /// <param name="connection">The connection to use.</param>
 /// <param name="settings">The settings to use when creating the channel.</param>
 /// <exception cref="ServiceResultException">Thrown if any communication error occurs.</exception>
 public void Initialize(
     ITransportWaitingConnection connection,
     TransportChannelSettings settings)
 {
     SaveSettings(connection.EndpointUrl, settings);
     CreateChannel(connection);
 }
Пример #3
0
        private void SaveSettings(Uri url, TransportChannelSettings settings)
        {
            m_url = new Uri(url.ToString());

            m_settings         = settings;
            m_operationTimeout = settings.Configuration.OperationTimeout;

            // initialize the quotas.
            m_quotas = new ChannelQuotas();

            m_quotas.MaxBufferSize         = m_settings.Configuration.MaxBufferSize;
            m_quotas.MaxMessageSize        = m_settings.Configuration.MaxMessageSize;
            m_quotas.ChannelLifetime       = m_settings.Configuration.ChannelLifetime;
            m_quotas.SecurityTokenLifetime = m_settings.Configuration.SecurityTokenLifetime;

            m_quotas.MessageContext = new ServiceMessageContext();

            m_quotas.MessageContext.MaxArrayLength      = m_settings.Configuration.MaxArrayLength;
            m_quotas.MessageContext.MaxByteStringLength = m_settings.Configuration.MaxByteStringLength;
            m_quotas.MessageContext.MaxMessageSize      = m_settings.Configuration.MaxMessageSize;
            m_quotas.MessageContext.MaxStringLength     = m_settings.Configuration.MaxStringLength;
            m_quotas.MessageContext.NamespaceUris       = m_settings.NamespaceUris;
            m_quotas.MessageContext.ServerUris          = new StringTable();
            m_quotas.MessageContext.Factory             = m_settings.Factory;

            m_quotas.CertificateValidator = settings.CertificateValidator;
        }
Пример #4
0
 /// <summary>
 /// Initializes a secure channel with the endpoint identified by the URL.
 /// </summary>
 /// <param name="url">The URL for the endpoint.</param>
 /// <param name="settings">The settings to use when creating the channel.</param>
 /// <exception cref="ServiceResultException">Thrown if any communication error occurs.</exception>
 public void Initialize(
     Uri url,
     TransportChannelSettings settings)
 {
     SaveSettings(url, settings);
     CreateChannel();
 }
Пример #5
0
        /// <summary>
        /// Initializes a secure channel with the endpoint identified by the connection.
        /// </summary>
        /// <param name="connection">The connection to use.</param>
        /// <param name="settings">The settings to use when creating the channel.</param>
        /// <exception cref="ServiceResultException">Thrown if any communication error occurs.</exception>
        public void Initialize(
            ITransportWaitingConnection connection,
            TransportChannelSettings settings)
        {
            SaveSettings(connection.EndpointUrl, settings);

            var socket = connection.Handle as IMessageSocket;

            if (socket == null)
            {
                throw new ArgumentException("Connection Handle is not of type IMessageSocket.");
            }

            m_channel = new UaSCUaBinaryClientChannel(
                Guid.NewGuid().ToString(),
                m_bufferManager,
                m_messageSocketFactory,
                m_quotas,
                m_settings.ClientCertificate,
                m_settings.ClientCertificateChain,
                m_settings.ServerCertificate,
                m_settings.Description);

            m_channel.Socket = socket;
            m_channel.Socket.ChangeSink(m_channel);
        }
Пример #6
0
        /// <summary>
        /// Initializes a secure channel with the endpoint identified by the URL.
        /// </summary>
        /// <param name="url">The URL for the endpoint.</param>
        /// <param name="settings">The settings to use when creating the channel.</param>
        /// <exception cref="ServiceResultException">Thrown if any communication error occurs.</exception>
        public void Initialize(
            Uri url,
            TransportChannelSettings settings)
        {
            SaveSettings(url, settings);

            m_channel = new UaSCUaBinaryClientChannel(
                Guid.NewGuid().ToString(),
                m_bufferManager,
                m_messageSocketFactory,
                m_quotas,
                m_settings.ClientCertificate,
                m_settings.ClientCertificateChain,
                m_settings.ServerCertificate,
                m_settings.Description);
        }
Пример #7
0
        /// <summary>
        /// Saves the settings so the channel can be opened later.
        /// </summary>
        /// <param name="url">The URL.</param>
        /// <param name="settings">The settings.</param>
        private void SaveSettings(Uri url, TransportChannelSettings settings)
        {
            // save the settings.
            m_url = url;
            m_settings = settings;
            m_operationTimeout = settings.Configuration.OperationTimeout;

            // initialize the quotas.
            m_quotas = new TcpChannelQuotas();

            m_quotas.MaxBufferSize = m_settings.Configuration.MaxBufferSize;
            m_quotas.MaxMessageSize = m_settings.Configuration.MaxMessageSize;
            m_quotas.ChannelLifetime = m_settings.Configuration.ChannelLifetime;
            m_quotas.SecurityTokenLifetime = m_settings.Configuration.SecurityTokenLifetime;

            m_quotas.MessageContext = new ServiceMessageContext();

            m_quotas.MessageContext.MaxArrayLength = m_settings.Configuration.MaxArrayLength;
            m_quotas.MessageContext.MaxByteStringLength = m_settings.Configuration.MaxByteStringLength;
            m_quotas.MessageContext.MaxMessageSize = m_settings.Configuration.MaxMessageSize;
            m_quotas.MessageContext.MaxStringLength = m_settings.Configuration.MaxStringLength;
            m_quotas.MessageContext.NamespaceUris = m_settings.NamespaceUris;
            m_quotas.MessageContext.ServerUris = new StringTable();
            m_quotas.MessageContext.Factory = m_settings.Factory;

            m_quotas.CertificateValidator = settings.CertificateValidator;

            // create the buffer manager.
            m_bufferManager = new BufferManager("Client", (int)Int32.MaxValue, settings.Configuration.MaxBufferSize);
        }
Пример #8
0
 /// <summary>
 /// Initializes a secure channel with the endpoint identified by the URL.
 /// </summary>
 /// <param name="url">The URL for the endpoint.</param>
 /// <param name="settings">The settings to use when creating the channel.</param>
 /// <exception cref="ServiceResultException">Thrown if any communication error occurs.</exception>
 public void Initialize(
     Uri url,
     TransportChannelSettings settings)
 {
     SaveSettings(url, settings);
 }
        private void SaveSettings(Uri url, TransportChannelSettings settings)
        {
            m_url = new Uri(Utils.ReplaceLocalhost(url.ToString()));

            m_settings = settings;
            m_operationTimeout = settings.Configuration.OperationTimeout;

            // initialize the quotas.
            m_quotas = new TcpChannelQuotas();

            m_quotas.MaxBufferSize = m_settings.Configuration.MaxBufferSize;
            m_quotas.MaxMessageSize = m_settings.Configuration.MaxMessageSize;
            m_quotas.ChannelLifetime = m_settings.Configuration.ChannelLifetime;
            m_quotas.SecurityTokenLifetime = m_settings.Configuration.SecurityTokenLifetime;

            m_quotas.MessageContext = new ServiceMessageContext();

            m_quotas.MessageContext.MaxArrayLength = m_settings.Configuration.MaxArrayLength;
            m_quotas.MessageContext.MaxByteStringLength = m_settings.Configuration.MaxByteStringLength;
            m_quotas.MessageContext.MaxMessageSize = m_settings.Configuration.MaxMessageSize;
            m_quotas.MessageContext.MaxStringLength = m_settings.Configuration.MaxStringLength;
            m_quotas.MessageContext.NamespaceUris = m_settings.NamespaceUris;
            m_quotas.MessageContext.ServerUris = new StringTable();
            m_quotas.MessageContext.Factory = m_settings.Factory;

            m_quotas.CertificateValidator = settings.CertificateValidator;
        }
Пример #10
0
 public void Initialize(Uri url, TransportChannelSettings settings)
 {
     throw new NotImplementedException();
 }