我写了一个测试,当时好像我有
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.cs和NpgsqlConnector.cs,但无法确定。任何帮助将不胜感激
答案 0 :(得分:0)
是的,如果PostgreSQL未在指定的便盆上运行(“连接被拒绝”),NpgsqlConnection.Open()
将引发异常。
添加一个using
只是在引发异常之后将连接放置在块的末尾。