Я установил все права Acces в DataBaseSqlDependency.Start (ConnectionString) возвращает каждый раз, когда ложный
use DbName
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO dbuser
use DbName
GRANT SELECT ON OBJECT::schema.tableName TO dbuser
Use DbName
GRANT RECEIVE ON QueryNotificationErrorsQueue TO dbuser
ALTER DATABASE DbName SET TRUSTWORTHY ON
use DbName
alter database DbName SET ENABLE_BROKER
, но когда я начинаю SqlDependency:
bool started = SqlDependency.Start(connectionString);
// начал ложно, а затем Я получаю эту ошибку
Исключение типа 'System.InvalidOperationException' произошло в System.Data.dll, но было не обрабатывается в коде пользователя Дополнительная информация: При использовании SqlDependency без предоставления значения параметра необходимо вызывать SqlDependency.Start() перед выполнением команды, добавленной в экземпляр SqlDependency.
C# код:
private static bool notificationEnabled = false;
private string connString= "Data Source=(local);Initial Catalog=MyDB;UID=dbuser; PWD=pass;";
public static void EnableNotifications()
{
// prevent for calling twice
if (notificationEnabled)return;
System.Web.Caching.SqlCacheDependencyAdmin.EnableNotifications(connString);
//startResult is false always
bool startResult = SqlDependency.Start(connString);
notificationEnabled = true;
}
Просьба показать другой код этого звонка. Также любые другие вызовы, которые могут использовать одну и ту же строку соединения. –
@ScottChamberlain Я добавил свой код в C# – Alex
Устранена ли проблема, если вы замените порядок вызовов 'SqlDependency.Start' и' SqlCacheDependencyAdmin.EnableNotifications'? –