У меня есть странная проблема и вопрос об использовании SqlDependency
класса в обычном приложении Asp.net MVCSqlDependency и asp.net MVC приложение не полностью функционален
У меня есть стандартный контроллер с кодом:
public ActionResult Index()
{
RegisterNotification();
return View();
}
public void RegisterNotification()
{
var cs = ConfigurationManager.ConnectionStrings["TestDb"].ConnectionString;
var sql = @"Select Data From dbo.TestTable";
using (var conn = new SqlConnection(cs))
{
conn.Open();
using (var cmd = new SqlCommand(sql, conn))
{
cmd.Notification = null;
var sqlDependency = new SqlDependency(cmd);
sqlDependency.OnChange += SqlDependency_OnChange;
cmd.ExecuteNonQuery();
}
}
}
public void SqlDependency_OnChange(object sender, SqlNotificationEventArgs e)
{
if (e.Type == SqlNotificationType.Change)
{
// call some SignalR method here and re-register notification
RegisterNotification();
}
}
В Global.asax
является SqlDepndency
инициализации (на начальных и конечных методов)
Ну, в первом запросе все работает прекрасно, но после некоторого обновления (полный запрос) SqlDependency_OnChange
вызова дважды и NEX t refresh call четыре раза и т. д.
В консольном приложении этот код работает нормально.
С кодом нет в коде?
(Использование Sql 2012 и ASP.NET MVC 5.2.3 и Dev сервер VisualStudio IISExpress)
Благодаря
Вы правы !. Спасибо за помощь. Это действительно глупая ошибка. :) – Mennion