使用 NCache 4.6 作为 EF 6.1.3 二级缓存,SqlDependency 不起作用。(它无法检测到我直接在 SQL Server 中所做的更改。在使用 EF 向数据库添加或删除实体时,它也不会更新缓存或使其无效。尽管它检测到更新实体)
我已经在我的计算机中安装了 NCache,IP:192.168.56.1
和 SQL server 2014 在 vbox 中,IP:192.168.56.101
使用他们网站上的指令并定制它们以满足我的 IP 和用户,我执行了以下 SQL:
ALTER DATABASE NORTHWND SET ENABLE_BROKER with rollback immediate;
GO
--Select is_broker_enabled from sys.databases where name ='NORTHWND'
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO user1
GRANT CREATE QUEUE TO user1
GRANT CREATE SERVICE TO user1
GRANT CREATE PROCEDURE TO user1
CREATE QUEUE "NCacheSQLQueue-192.168.56.1";
CREATE SERVICE "NCacheSQLService-192.168.56.1" ON QUEUE."NCacheSQLQueue-192.168.56.1"([http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification]);
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO user1;
GRANT RECEIVE ON "NCacheSQLQueue-192.168.56.1" TO user1;
GRANT RECEIVE ON QueryNotificationErrorsQueue TO user1;
GRANT SEND ON SERVICE :: "NCacheSQLService-192.168.56.1" to user1;
另外,select * from sys.dm_qn_subscriptions
显示没有人订阅。