jef*_*jef 5 c# sql-server asp.net signalr
我使用SignalR和SQL Dependency在asp.net mvc 5.2中SignalR通过此链接实现实时通知
http://venkatbaggu.com/signalr-database-update-notifications-asp-net-mvc-usiing-sql-dependency/
Run Code Online (Sandbox Code Playgroud)
不,我有一个问题,在这种情况下,对表,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;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用 SqlDependency 函数,如下所示:-
void sqlDep_OnChange(object sender, SqlNotificationEventArgs e)
{
if (e.Type == SqlNotificationType.Change && e.Info==SqlNotificationInfo.Insert)
{
// your code
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1431 次 |
| 最近记录: |