【问题标题】:SqlDependency messes up application propertiesSqlDependency 搞乱了应用程序属性
【发布时间】:2017-07-31 12:30:02
【问题描述】:

在主窗体构造函数的 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”(您是否缺少 使用指令还是程序集引用?)

如您所见,第一条语句引用了完全相同的设置值,并且没有失败。

在这部分工作的情况下,应用程序能够捕获数据库更改并执行我希望它执行的操作,但它可能会在应用程序退出(在表单关闭事件中)时出错,我使用相同的确切语句(如第一个)如上所述停止依赖。调试器不提供任何有用的信息,也没有可用的堆栈信息。错误可以是 SqlException 或与上述相同。

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

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

我认为使用依赖项是一个好主意,因为用户希望在不手动刷新数据的情况下查看其他用户所做的更改,但我正在努力。

【问题讨论】:

  • 您收到的错误消息是编译器错误。如果您看到该错误,您将无法运行您的代码 6 次并获得不同的结果。
  • 能否附上异常发生时的截图?
  • Bradley,如果是编译器错误,我将无法运行它,对吧?但它间歇性地运行。我又运行了 6 次,到目前为止还不错,没有错误。如果再次发生这种情况,我将发布更新。

标签: c# .net sqldependency


【解决方案1】:

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

Properties does not exist in the current context

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    相关资源
    最近更新 更多