Asp.网络信号R -检测数据库的变化?Asp.net Web表单



更新面板中有一个列表视图

Update Panel
    List View
        Email 1
        Email 2
        Email 3
           ...

我试图做一个收件箱类似于GMAIL在ASP。. NET,我唯一正在努力的是如何检测数据库的变化(即当一个新的消息被发送),并将该消息推到ListView,以模拟用户已经收到了一个新的消息(就像gmail一样)

我如何使用SignalR检测数据库更改并使用SignalR将它们推入列表视图?这可能吗?

如果您正在使用Sql Server,请遵循此链接。http://techbrij.com/database-change-notifications-asp-net-signalr-sqldependency

它基本上使用SqlDependency来订阅Sql Server中的更改。

如果你不使用Sql Server,你必须手动执行此操作。对于视图端,你可以使用KnockoutJS或angular来方便地修改列表。

//Set up dependency
protected void Application_Start()
{
        //...
   SqlDependency.Start(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); 
}

protected void Application_End()
{
    SqlDependency.Stop(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); 
}

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

我不认为您可以使用SignalR来检测数据库中的更改,而是将更改推送到网站。使用SqlDependency或SQL Notification Services之类的东西来检测数据库中的变化,然后SignalR将它们推送到web页面。

相关内容

  • 没有找到相关文章

最新更新