со следующим кодом, мое событие OnChange не поднимается:
SqlDependency.Start(connectionString);
SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
using (SqlCommand command = new SqlCommand(
"SELECT Name, Description FROM dbo.Boms",
conn))
{
SqlDependency dep = new SqlDependency(command);
dep.OnChange += dep_OnChange;
// Execute the command.
using (SqlDataReader reader = command.ExecuteReader())
{
// Process the DataReader.
}
}
Я googled для любых возможных ограничений для запроса, но мой запрос выглядит нормально. Объект dep также правильно создан, но я попытался вставить (успешно) запись внутри моей таблицы Boms, но я не получил никакой обратной связи или события. Внутри Sql Server 2012 я вижу новую очередь при каждом запуске приложения.
Я искал ошибки в системной таблице, но все вроде хорошо.
Любой намек на понимание, по крайней мере, где проблема?
Благодарю!
Прочтите "Загадочное оповещение", " Устранение неполадок с запросами". Диалоговые диалоги по устранению неполадок и использование трассировки SQL для устранения неполадок с уведомлениями о запросах на устранение неполадок.
Запустите это, чтобы убедиться, что выполнение в виде контекста песочницы не запущено в проблемы с сиротой dbo sid:
ALTER AUTHORIZATION ON database::[<yourdbname>] TO [sa];