如何在asp.net项目中使用SqlDependency

时间:2014-03-05 12:16:18

标签: c# asp.net asp.net-mvc sqldependency

我想知道任何人都可以在Web项目中使用SqlDependency。我从stackoverflow获得了一个代码,如 Asp.Net Signal R - Detect Changes in Database ? Asp.net Web Forms

//Set up dependency
protected void Application_Start()
{
        //...
   SqlDependency.Start(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); 
}


protected void Application_End()
{
    SqlDependency.Stop(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString); 
}

SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);

我想sql依赖onchange方法应该在global.asax文件中的任何事件....我是对的。 但是看到代码他们只是简单地从任何事件中实例化SqlDependency。所以我想知道上面的代码是否有效?如果是,那么请解释实际SqlDependency实例将在何时插入这两行

SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);

在global.asax文件中。

如果我们需要使用sql依赖类,那么我们需要在数据库级别启用代理。所以我想知道我们的数据库何时托管在共享环境中,然后我们可以启用代理。假设我已经在ORCSWEB共享位置托管我的数据库,其中还存在许多其他数据库,那么ORCSWEB将允许我为我的数据库启用代理?

另一个重点

要订阅查询通知,我们需要授予IIS服务帐户权限 授予“域\ ASPNET”

的订阅查询通知

如何为IIS提供SUBSCRIBE QUERY NOTIFICATIONS权限?我需要知道完整的步骤。

感谢

1 个答案:

答案 0 :(得分:-1)

以下是SQLDependency上的示例我不相信您可以在Global.asax中使用它,因为它适用于每个SQL命令,就像在此Example中一样,SQL命令也不能是Select *, INSERT或UPDATE所以你需要一些机制来检查它或尝试catch块,以及处理它的逻辑。