在 SQL 依赖项更改后调用客户端函数
call clientside function after sqldependency change
我正在使用SqlDependency 来监视特定数据库表上的更改。我需要在触发更改事件后调用 javascript 事件!知道吗?此代码在我的 asp.net 页面代码中
public void StartTasksMonitor()
{
var con = new SqlConnection { ConnectionString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString };
if (con.State== System.Data.ConnectionState.Closed)
{
con.Open();
}
var cmd = new SqlCommand { CommandText = @"SELECT Id
,AssignedBy
,DateAssigned
,AssignedTo
,Title
,Description
,Completed
,DateDue
,Deleted
,DateDeleted
FROM dbo.Tasks", Connection = con, Notification = null };
SqlDependency dependency = new SqlDependency(cmd);
SqlDataReader reader = cmd.ExecuteReader();
con.Close();
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
}
void dependency_OnChange(object sender, SqlNotificationEventArgs e)
{
if (e.Type == SqlNotificationType.Change)
{
// Have to remove this as it only work's once
SqlDependency sqlDep = sender as SqlDependency;
sqlDep.OnChange -= dependency_OnChange;
// Resetup Dependecy
StartTasksMonitor();
string clientFunc = @"alert('test')";
ScriptManager.RegisterStartupScript(this, GetType(), "alert", clientFunc , true);
}
}
RegisterStartupScript 只有在发生回发时才起作用。此处未发生回发。整个事情的主要目的是避免回发:)
使用 SignalR :) 解决了这个问题SignalR + SQLDependency 是一个踢屁股的配方:)快乐编码
相关文章:
- SignalR 不从服务器调用客户端方法
- 调用客户端函数
- 在 SQL 依赖项更改后调用客户端函数
- 调用客户端 javascript/webpop 的表单的 DoS 风险/漏洞
- 如何先调用客户端脚本函数,然后再调用服务器端按钮单击事件
- 从asp.net c页面调用客户端javascript
- 在不打开新页面的情况下从浏览器调用客户端URL
- Signalr-连接已启动,但未使用websocket调用客户端事件
- 如何使用socket.io从服务器调用客户端方法
- Safari在服务器端的刷新/加载前不运行回调函数(调用客户端代码)
- ServiceNow UI操作调用客户端和服务器代码
- 服务器端函数调用客户端Javascript函数以获取结果
- JQuery-在Asp.Net中调用客户端的服务器端事件
- SignalR-Hub在IIS停止后,启动将不再调用客户端函数
- 会话属性在调用客户端重定向后丢失
- 客户端应该调用服务器还是服务器应该调用客户端?我错过了什么?
- 如何在NetSuite中调用客户端的PageInit函数
- 从c#页面方法调用客户端脚本(javascript,jquery等)
- 无法在OnDisconnected上调用客户端方法
- 从自定义方法调用客户端事件