SqlDependency会混淆应用程序属性

时间:2017-07-31 12:30:03

标签: c# .net sqldependency

在主窗体构造函数中的C#windows窗体应用程序中,我有以下代码(更新为应用程序的实际代码):

SqlDependency.Stop(Properties.Settings.Default.EmployeeHealthDB, Properties.Settings.Default.NotificationQueueName);
        IsUsingSqlDependency = SqlDependency.Start(Properties.Settings.Default.EmployeeHealthDB, Properties.Settings.Default.NotificationQueueName);

SQL依赖性间歇性地工作,而且我经常在第二个语句中遇到以下错误:

  

Properties.Settings.Default.ConnStr' System.Windows.Forms.PropertyStore'   不包含'设置'的定义没有扩展方法   '设置'接受第一个类型的参数   ' System.Windows.Forms.PropertyStore'可以找到(你错过了吗?   使用指令或程序集引用?)

正如您所看到的,第一个语句指的是完全相同的设置值,并且它不会失败。

当这个部分工作时,应用程序能够捕获数据库更改并执行我想要它做的事情,但它可能会在应用程序退出时出现错误(在Form Closing事件上),我使用相同的完全语句(如第一个)如上所述停止依赖。调试器不提供任何有用的信息,没有可用的堆栈信息。错误可以是SqlException或与上面相同。

我刚刚运行了我的应用程序6次(在调试器中) - 没有更改任何内容而且没有在应用程序中执行任何操作 - 只需打开主窗体并关闭主窗体。前两次我在SqlSDependency.Start上收到错误,然后接下来4次运行就好了。

使用VS 2013 Professional,.NET 4.5,C#。基于Win 7 x64,但生成的代码适用于x32位系统。

我认为使用依赖是一个好主意,因为用户希望看到其他用户所做的更改,而无需手动刷新数据,但我正在努力。

1 个答案:

答案 0 :(得分:0)

在mjwills提供的链接文章中添加应用程序命名空间解决了我的问题。

Properties does not exist in the current context