2017-07-31 60 views
0

在C#Windows窗體主要形式的構造函數,我有以下代碼(從應用程序更新到實際的代碼)應用:的SqlDependency打亂了應用性能

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」類型的rgument可以發現(使用指令或程序集引用是否缺少 ?)

正如你所看到的第一條語句是指完全相同的設置值並沒有失敗。

在這部分工作的場合,應用程序能夠捕獲數據庫更改並執行我想要的操作,但它可能會在應用程序退出時發生錯誤(在表單關閉事件中),我使用相同的語句作爲第一個)來停止依賴如上。調試器不提供任何有用的信息,沒有可用的堆棧信息。該錯誤可以是SqlException或與上面相同。

我剛剛運行我的應用程序6次(在調試器中) - 沒有改變任何東西,也沒有在應用程序中做任何事情 - 只需打開主窗體並關閉主窗體。前兩次,我得到了SqlSDependency.Start的錯誤,接下來4次它運行得很好。

使用VS 2013 Professional,.NET 4.5,C#。基於Win 7 x64構建,但生成的代碼適用於x32位系統。

我認爲使用依賴關係是一個好主意,因爲用戶希望看到其他用戶所做的更改,而無需手動刷新數據,但我很掙扎。

+1

您收到的錯誤消息是編譯器錯誤。如果您發現該錯誤,則無法像發佈一樣運行您的代碼,其結果是6次,結果不同。 –

+0

您能否在發生異常時包含異常的屏幕截圖? – mjwills

+1

https://social.msdn.microsoft.com/Forums/vstudio/en-US/46d7aef0-bdfe-4b7e-b74c-4b1d067c4000/why-does-my-vsto-cnet-project-not-let-me-檢查應用程序設置在運行時?論壇= vsto幫助? – mjwills

回答