C# sql依赖关系问题-通知发生多次
起初我没有使用会话,所以每次刷新此页面时。通知比上次多出现1次。因此,我使用了这种(会话)技术,这很有帮助,但现在有一个问题,即当我离开页面一段时间时(或者当会话在未单击“注销”按钮的情况下过期时)。我登录到应用程序,它就在那里,然后它会创建每个通知两次C# sql依赖关系问题-通知发生多次,c#,sql,session,signalr,sqldependency,C#,Sql,Session,Signalr,Sqldependency,起初我没有使用会话,所以每次刷新此页面时。通知比上次多出现1次。因此,我使用了这种(会话)技术,这很有帮助,但现在有一个问题,即当我离开页面一段时间时(或者当会话在未单击“注销”按钮的情况下过期时)。我登录到应用程序,它就在那里,然后它会创建每个通知两次 protected void Page_Load(object sender, EventArgs e) { if (IsPostBack)
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
return;
User _userOnLine = Session["CUser"] as User;
if (_userOnLine == null)
{
SqlDependency.Stop(@"XXXXXXXXXXXX");
Session.RemoveAll();
Response.Redirect(@"~\Login.aspx");
}
if (Session["count"] == null)
{
SqlDependency.Start(@"XXXXXX");
SendNotification();
}
Session["count"] = 1;
}
有什么建议吗?我建议您使用SqlCacheDependency来管理ASP.NET应用程序中的通知。
您将在此处找到有关SqlCacheDependency的信息:Put
SqlDependency.Stop(@“xxxxxxxxxxx”)代码>在会话中\u结束
感谢您的回复,尝试此操作。无效。仍然会出现两次通知,您认为它的工作方式与信号器的工作方式相同。实时通知?实际上,您可以将SignalR和SqlNotification结合起来。如果SQL通知是服务器端的,那么Signal将把通知推送到客户端。