Ejemplo n.º 1
0
        private IReadBindingHandle GetSingleServerReadBinding(CancellationToken cancellationToken)
        {
            var readPreference = _options.ReadPreference ?? _database.Settings.ReadPreference;
            var selector       = new ReadPreferenceServerSelector(readPreference);
            var server         = _cluster.SelectServer(selector, cancellationToken);
            var binding        = new SingleServerReadBinding(server, readPreference, NoCoreSession.NewHandle());

            return(new ReadBindingHandle(binding));
        }
Ejemplo n.º 2
0
        private async Task <IReadBindingHandle> GetSingleServerReadBindingAsync(CancellationToken cancellationToken)
        {
            var readPreference = _options.ReadPreference ?? _database.Settings.ReadPreference;
            var selector       = new ReadPreferenceServerSelector(readPreference);
            var server         = await _cluster.SelectServerAsync(selector, cancellationToken).ConfigureAwait(false);

            var binding = new SingleServerReadBinding(server, readPreference, NoCoreSession.NewHandle());

            return(new ReadBindingHandle(binding));
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Checks whether the server is alive (throws an exception if not).
        /// </summary>
        public void Ping()
        {
            var messageEncoderSettings = GetMessageEncoderSettings();
            var operation = new PingOperation(messageEncoderSettings);

            var server = GetServer();

            using (var binding = new SingleServerReadBinding(server, ReadPreference.PrimaryPreferred))
            {
                operation.Execute(binding, CancellationToken.None);
            }
        }