同时使用SqlDependency和LINQ to SQL有什么意义吗?或者我们必须特别照顾一些东西才能使它们正常工作?
在我们的应用程序中,我们使用LINQ to SQL作为ORM,业务逻辑位于存储过程中。我们缓存SP的输出并创建SQLDependency。只要SP的输出发生更改,缓存就会失效。
到目前为止,我们的代码在开发、测试和质量保证中运行良好,但最近它在质量保证中停止工作,日志表明错误来自SqlDependency.Start(ConnStr),它是在应用程序启动块的global.asax文件中执行的。
错误如下:消息:在不提供选项值的情况下使用SqlDependency时,必须在执行添加到SqlDependency实例的命令之前调用SqlDependency.Start()。
但我不明白,当SqlDependency.Start()已经在应用程序启动中执行时,为什么它在执行SP时会抛出异常。
有没有人能解释一下这个问题?
发布于 2010-07-21 15:34:58
由于SQLDependency是权限相关的,所以权限在服务器上发生了变化吗?
(他们可能不应该这样做--但他们可能会这样做!)
发布于 2012-05-01 01:57:04
确保所有权限都设置正确,下面列出了我为使其正常工作而应用的所有必要权限。
-- Permissions
GRANT CREATE PROCEDURE to [testUser]
GRANT CREATE QUEUE to [testUser]
GRANT CREATE SERVICE to [testUser]
----
GRANT REFERENCES on CONTRACT::[http://schemas.microsoft.com/SQL/Notifications/PostQueryNotification]
to [testUser]
GRANT RECEIVE ON QueryNotificationErrorsQueue TO [testUser]
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO [testUser]
GRANT CONTROL ON SCHEMA::[dbo] TO [testUser]
GRANT IMPERSONATE ON USER::DBO TO [testUser]https://stackoverflow.com/questions/3296991
复制相似问题