net mvc example dependency asp asp.net caching sqldependency

asp.net - mvc - Caché de SQLDependency no funciona



sql dependency example vb net (1)

O puede otorgarle al usuario derechos de sysadmin O BIEN

proporcionar permiso dbo esquema dbo .

Para crear un procedimiento, una función, un esquema, objetos de alcance, etc., necesita al menos el permiso ALTER en el esquema de destino. Aquí está la sintaxis de TSQL,

grant alter on schema :: schema_name to user_name

El usuario también debe tener los permisos en el Servicio de notificación, Colas. Para otorgar el permiso al usuario ''John'' en el Service y la queue use:

GRANT SEND on service::SqlQueryNotificationService to John GRAND RECEIVE on SqlQueryNotificationService_DefaultQueue to John

Además, el usuario necesita permiso para suscribirse a la notificación. (Esto ya lo hizo usted, supongo) Para hacer esto, use:

GRANT SUBSCRIBE QUERY NOTIFICATIONS TO John

Un último punto que puedo adivinar para ayudar es que, en caso de que haya configurado SqlDependency en un comando, entonces asegúrese de ejecutarlo. Las suscripciones de la cola en el servidor solo suceden en la ejecución del comando.

SqlDataReader reader = command.ExecuteReader();

Esta publicación puede ser más útil.

Estoy tratando de usar SQLDependency Caching con Query Notifications en mi aplicación ASP.NET . Seguí estos pasos para configurar el almacenamiento en caché de SQLDependency . Pude configurar el archivo db correctamente. Sin embargo, cuando ejecuto mi aplicación, recibo el siguiente error.

Cannot find the specified user ''owner''. Cannot find the queue SqlQueryNotificationService-6c3ae823-a678-4ed2-8b97-561b5f2561ee'', because it does not exist or you do not have permission. Invalid object name SqlQueryNotificationService-6c3ae823-a678-4ed2-8b97-561b5f2561ee''.

Código Global.asax

void Application_Start(object sender, EventArgs e) { // Code that runs on application startup System.Data.SqlClient.SqlDependency.Start(ConfigurationManager.ConnectionStrings["McdConn"].ToString()); }

Traté de buscar la solución Google, pero no pude obtener ninguna ayuda.

Puede alguien ayudarme con esto?

¿Me estoy perdiendo de algo?