首页 > 解决方案 > C# 将侦听器附加到 Npgsql 连接

问题描述

我正在用 C# 构建一个应用程序,它使用 npgsql 连接在 postgres 数据库中进行查询。我想知道是否有办法在查询执行的所有步骤中得到通知;我的意思是我想接收消息:

有没有办法做到这一点 ?

标签: c#postgresqlnpgsql

解决方案


您是否要捕获StateChange事件?希望这将为您指明正确的方向。

    Dim csb = New NpgsqlConnectionStringBuilder(GetConnectionString(connectionName))
    csb.CommandTimeout = 0
    Using connection = New NpgsqlConnection(csb.ConnectionString)
        AddHandler connection.StateChange, AddressOf myHandler  ' <== This is where you specify the event Handler
        Using transaction = connection.BeginTransaction()
            ' Do your thing here.
            transaction.Commit()
        End Using
    End Using
End Sub


' This function will get called whenever the connection state changes.
Private Function myHandler(sender As Object, e As StateChangeEventArgs) As Object
    ' Do something here
End Function

推荐阅读