Информация об изменениях

Сообщение Re: SqlDependency не отлавливаются изменения в базе от 08.12.2016 8:56

Изменено 08.12.2016 9:33 dsalodki

Здравствуйте, -rsdn-, Вы писали:

R>использую в signalR


R>
R>    public class ExampleHub : Hub, ITransientDependency
R>{
R>        public override Task OnConnected()
R>        {
R>            Storage.ConnStr = WebConfigurationManager.ConnectionStrings["Default"].ConnectionString;
R>            SqlDependency.Start(Storage.ConnStr);
R>            Storage.Connection = new SqlConnection(Storage.ConnStr);
R>            Storage.Connection.Open();
R>            Storage.Command = new SqlCommand("SELECT [State] FROM[Test].[dbo].[State]", Storage.Connection);
R>            Storage.Dependency = new SqlDependency(Storage.Command);
R>            Storage.Dependency.OnChange += Dependency_OnChange;
R>            Storage.Command.ExecuteReader();
R>.......

R>        private void Dependency_OnChange(object sender, SqlNotificationEventArgs e)
R>        {

R>        }
R>......
R>    public static class Storage
R>    {
R>        public static bool IsEnabled;
R>        public static SqlConnection Connection;
R>        public static SqlCommand Command;
R>        public static SqlDependency Dependency;
R>        public static string ConnStr;
R>    }
R>


R>Dependency_OnChange вызывается сразу после ExecuteReader и только 1 раз, во время изменений в базе ничего не происходит


надо было удалить квадратные скобки
Re: SqlDependency не отлавливаются изменения в базе
Здравствуйте, -rsdn-, Вы писали:

R>использую в signalR


R>
R>    public class ExampleHub : Hub, ITransientDependency
R>{
R>        public override Task OnConnected()
R>        {
R>            Storage.ConnStr = WebConfigurationManager.ConnectionStrings["Default"].ConnectionString;
R>            SqlDependency.Start(Storage.ConnStr);
R>            Storage.Connection = new SqlConnection(Storage.ConnStr);
R>            Storage.Connection.Open();
R>            Storage.Command = new SqlCommand("SELECT [State] FROM [Test].[dbo].[State]", Storage.Connection);
R>            Storage.Dependency = new SqlDependency(Storage.Command);
R>            Storage.Dependency.OnChange += Dependency_OnChange;
R>            Storage.Command.ExecuteReader();
R>.......

R>        private void Dependency_OnChange(object sender, SqlNotificationEventArgs e)
R>        {

R>        }
R>......
R>    public static class Storage
R>    {
R>        public static bool IsEnabled;
R>        public static SqlConnection Connection;
R>        public static SqlCommand Command;
R>        public static SqlDependency Dependency;
R>        public static string ConnStr;
R>    }
R>


R>Dependency_OnChange вызывается сразу после ExecuteReader и только 1 раз, во время изменений в базе ничего не происходит


надо было удалить название базы [Test].