信号器断开但未触发

时间:2019-02-18 07:40:47

标签: c# signalr

我在集线器上有以下代码,如果断开连接,该代码应该更新数据库上的标志。在VS2017中进行调试时,我可以看到它正常运行,并且在关闭页面时触发了该事件。但是在客户端上使用时,我尝试通过“拉电缆”来模拟断开连接,但不更新标志。 我可以从浏览器的控制台日志中看到客户端已从集线器断开连接(30秒后)。 谁能建议可能是问题所在。我正在使用来自nuget的最新版本的signalR

public override Task OnDisconnected(bool stopCalled)
{
    string connectionId = Context.ConnectionId;
    DeleteConnectiondb(connectionId);
    return base.OnDisconnected(stopCalled);
}

public String DeleteConnectiondb(string connectionid)
{
    String IPRadionConnectionString = ConfigurationManager.ConnectionStrings["dbIPRadioConnectionString"].ConnectionString;
    try
    {
        using (MySqlConnection IPdatabaseConn = new MySqlConnection(IPRadionConnectionString))
        {
            IPdatabaseConn.Open();
            MySqlCommand mySQLcommandUpdate = new MySqlCommand("UPDATE tblRegistrations SET " + "active='0' " + "WHERE " + "connectionid=@connectionid", IPdatabaseConn);
            mySQLcommandUpdate.Parameters.Add(new MySqlParameter("@connectionid", connectionid));
            using (MySqlDataReader myReader1 = mySQLcommandUpdate.ExecuteReader())
            {
                myReader1.Close();
            }

            IPdatabaseConn.Close();
            return null;
        }
    }
    catch (Exception ex)
    {
        return ex.ToString();
    }
}

0 个答案:

没有答案