如果端口关闭,NpgsqlConnection.Open会抛出错误吗?

时间:2018-10-30 00:08:26

标签: npgsql

我写了一个测试,当时好像我有

NpgsqlConnection connection = new NpgsqlConnection(<valid string with port #>);
connection.Open();
...

,并关闭相应的网络端口,然后connection.Open()将引发异常。现在的代码是

using (NpgsqlConnection connection = new NpgsqlConnection(builder.ConnectionString))
{
    connection.Open();
    ...

并且我得到反馈,即使关闭端口,该代码实际上仍可能继续。 NpgsqlConnection的行为是什么-如果未打开指定的端口,是否可以保证connection.Open()会抛出?

我尝试检查NpgsqlConnection.csNpgsqlConnector.cs,但无法确定。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

是的,如果PostgreSQL未在指定的便盆上运行(“连接被拒绝”),NpgsqlConnection.Open()将引发异常。

添加一个using只是在引发异常之后将连接放置在块的末尾。