C# 控制器内的SqlDependencyEx事件未被激发
我正在尝试使用SqlDependencyEx。问题是控制器中没有触发OnDataChange事件,我已经启用了ServiceBroker。以下是代码:C# 控制器内的SqlDependencyEx事件未被激发,c#,asp.net-mvc-4,sqldependency,sqldependencyex,C#,Asp.net Mvc 4,Sqldependency,Sqldependencyex,我正在尝试使用SqlDependencyEx。问题是控制器中没有触发OnDataChange事件,我已经启用了ServiceBroker。以下是代码: private const string CONNECTION_STRING = "Server=LFTCMCPTP83;Database=Database;Trusted_Connection=True;MultipleActiveResultSets=true; Integrated Security=false;User ID=us
private const string CONNECTION_STRING = "Server=LFTCMCPTP83;Database=Database;Trusted_Connection=True;MultipleActiveResultSets=true; Integrated Security=false;User ID=used_id;Password=password";
private const string DATABASE_NAME = "db_name";
private const string TABLE_NAME = "table_name";
private const string SCHEMA_NAME = "dbo";
private SqlDependencyEx sqlDependency = new SqlDependencyEx(CONNECTION_STRING, DATABASE_NAME,
TABLE_NAME, SCHEMA_NAME);
private void RegisterNotification()
{
sqlDependency.TableChanged += OnDataChange;
sqlDependency.Start();
}
private void OnDataChange(object sender, SqlDependencyEx.TableChangedEventArgs e)
{
//Code
}
public IActionResult Create(){
RegisterNotification();
}
private const string CONNECTION_STRING = "Server=LFTCMCPTP83;Database=Database;Trusted_Connection=True;MultipleActiveResultSets=true; Integrated Security=false;User ID=used_id;Password=password";
private const string DATABASE_NAME = "db_name";
private const string TABLE_NAME = "table_name";
private const string SCHEMA_NAME = "dbo";
private SqlDependencyEx sqlDependency = new SqlDependencyEx(CONNECTION_STRING, DATABASE_NAME,
TABLE_NAME, SCHEMA_NAME);
listener.TableChanged += (o, args) =>
{
//Code...
};
listener.Start();
listener.Stop();
致以最诚挚的问候问题已解决,以下是代码:
private const string CONNECTION_STRING = "Server=LFTCMCPTP83;Database=Database;Trusted_Connection=True;MultipleActiveResultSets=true; Integrated Security=false;User ID=used_id;Password=password";
private const string DATABASE_NAME = "db_name";
private const string TABLE_NAME = "table_name";
private const string SCHEMA_NAME = "dbo";
private SqlDependencyEx sqlDependency = new SqlDependencyEx(CONNECTION_STRING, DATABASE_NAME,
TABLE_NAME, SCHEMA_NAME);
private void RegisterNotification()
{
sqlDependency.TableChanged += OnDataChange;
sqlDependency.Start();
}
private void OnDataChange(object sender, SqlDependencyEx.TableChangedEventArgs e)
{
//Code
}
public IActionResult Create(){
RegisterNotification();
}
private const string CONNECTION_STRING = "Server=LFTCMCPTP83;Database=Database;Trusted_Connection=True;MultipleActiveResultSets=true; Integrated Security=false;User ID=used_id;Password=password";
private const string DATABASE_NAME = "db_name";
private const string TABLE_NAME = "table_name";
private const string SCHEMA_NAME = "dbo";
private SqlDependencyEx sqlDependency = new SqlDependencyEx(CONNECTION_STRING, DATABASE_NAME,
TABLE_NAME, SCHEMA_NAME);
listener.TableChanged += (o, args) =>
{
//Code...
};
listener.Start();
listener.Stop();
致意