我在ASP.NET MVC 5.2中使用signalR和SQL Dependency进行实时通知
我从此链接实现SignalR

http://venkatbaggu.com/signalr-database-update-notifications-asp-net-mvc-usiing-sql-dependency/

不,我有一个问题,在这种情况下,对表,SQL依赖项运行和返回记录进行任何更改,我只想在插入表时触发SQL依赖项并返回记录,

因为在此表中,我更新了面板中的用户读取通知时,为用户的读取通知更新了一些文件,所以当我更新文件SQL依赖项时,

我如何只为插入表定义SQL依赖关系?

感谢您的帮助

我使用此代码
 public IEnumerable<Messages> GetAllMessages()
        {
            var messages = new List<Messages>();
            using (var connection = new SqlConnection(_connString))
            {
                connection.Open();
                using (var command = new SqlCommand(@"SELECT [Id],[Player_Id], [Message] FROM [dbo].[Notification] WHERE [Player_Id] = " + PlayerLogin.userId + " AND PlayerIsRed = 0", connection))
                {
                    command.Notification = null;

                    var dependency = new SqlDependency(command);
                    dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);

                    if (connection.State == ConnectionState.Closed)
                        connection.Open();

                    var reader = command.ExecuteReader();

                    while (reader.Read())
                    {
                        messages.Add(item: new Messages { Id = (int)reader["Id"], Message = (string)reader["Message"], Player_Id = (int)reader["Player_Id"] });
                    }
                }

            }
            return messages;
        }

最佳答案

您可以使用SqlDependency函数,例如:

     void sqlDep_OnChange(object sender, SqlNotificationEventArgs e)
            {
                if (e.Type == SqlNotificationType.Change && e.Info==SqlNotificationInfo.Insert)
                {
                    // your code
                }
            }

关于c# - SignalR和sql依赖项仅在插入时,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35177345/

10-09 08:29
查看更多