我正在将SqlCacheDependency集成到我的LinqToSQL数据上下文中。
我使用一个扩展类来进行查询,可以在此处找到 - http://code.msdn.microsoft.com/linqtosqlcache
我已经连接了代码,但是当我打开页面时,出现以下异常 -
"当前数据库的SQL Server Service Broker未启用,因此不支持查询通知。如果要使用通知,请为此数据库启用Service Broker。"
异常来自于global.asax中的此事件。
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
//In Application Start Event
System.Data.SqlClient.SqlDependency.Start(new dataContextDataContext().Connection.ConnectionString);
}
我的问题是...
如何在我的 SQL Server 2008 数据库中启用服务代理?我尝试运行此查询... ALTER DATABASE tablename SET ENABLE_BROKER ,但它永远不会结束并且一直运行,我必须手动停止它。
一旦我在 SQL Server 2008 中设置了这个,它会过滤到我的 DataContext 中吗?还是我需要在那里配置一些东西?
感谢任何帮助
Truegilly
“数据库”DatabaseName“中的服务代理无法启用,因为已经存在一个具有相同ID的已启用服务代理。” 您可以通过以下命令重置代理ID:
ALTER DATABASE [DatabaseName] SET NEW_BROKER
感谢:https://www.mssqltips.com/sqlservertip/2789/sql-server-service-broker-error-database-cannot-be-enabled/ - Đonny