NpgsqlConnection часами зависает при открытии соединения - PullRequest
0 голосов
/ 09 ноября 2018

Мне удалось успешно подключиться с помощью пакета nuget Npgsql, пока однажды программа не стала зависать часами при выполнении conn.Open () без возврата. Я могу успешно соединиться с клиентом Aginity с такими же параметрами. Я пробовал Брандмауэр Вкл. И выкл. Я пробовал Антивирус Вкл. И выкл. Я пробовал Fiddler Вкл. И выкл.

Некоторые вещи на заметку: Мне нужно быть на VPN , чтобы подключиться к этому хосту. Он просто висит часами, когда выполняется conn.Open (). Когда я не на VPN, время ожидания истекает немедленно. Мы не можем видеть фактические входящие соединения с хостом, только запросы. Но код не попадает в часть запроса, он зависает при открытии соединения.

using (var conn = new NpgsqlConnection(connString))
            {
                conn.Open();                                
                using (var cmd = new NpgsqlCommand(command, conn))
                ...

1 Ответ

0 голосов
/ 12 ноября 2018

Похоже, что в клиенте Aginity режим SSL установлен на Требовать , а значение по умолчанию в Npgsql для режима SSL составляет Отключить в соответствии с документацией (https://www.npgsql.org/doc/connection-string-parameters.html). Но когда я устанавливаю параметр режима SSL Require в строке подключения, я получаю следующее исключение: Npgsql.PostgresException: 42704: нераспознанный параметр конфигурации "ssl_renegotiation_limit"

При поиске возможного решения в Интернете я нашел эту тему, созданную владельцем пакета Nget Npgsql. И из-за того, как это выглядит, это может быть проблемой, которая находится в состоянии запроса функции: https://forums.aws.amazon.com/thread.jspa?threadID=229990

...