我在 asp.net 中有這段代碼
public static IEnumerable<Raspi_speaker> GetData()
{
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["DataBase"].ConnectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(@"SELECT [Raspberry_ID],[Raspberry_name],[Speaker_Name],[Speaker_Volume] FROM [ISH_EDVBetreuung].[dbo].[Raspi_speaker]", connection))
{
// Make sure the command object does not already have
// a notification object associated with it.
command.Notification = null;
SqlDependency.Start(ConfigurationManager.ConnectionStrings["DataBase"].ConnectionString);
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange = new OnChangeEventHandler(dependency_OnChange);
if (connection.State == ConnectionState.Closed)
connection.Open();
using (var reader = command.ExecuteReader())
return reader.Cast<IDataRecord>()
.Select(x => new Raspi_speaker()
{
Raspberry_ID = x.GetString(0),
Raspberry_name = x.GetString(1),
Speaker_Name = x.GetString(2),
Speaker_Volume = x.GetInt32(4),
Speaker_Mute = x.GetBoolean(5),
Speaker_Status = x.GetBoolean(6),
Speaker_Availability = x.GetBoolean(7),
currently_playing_song = x.GetString(8),
Date_Time = x.GetDateTime(9)
}).ToList();
}
}
}
private static void dependency_OnChange(object sender, SqlNotificationEventArgs e)
{
MyHub.Show();
}
}
}
這是 SignalR 代碼 當有人在資料庫中輸入新事物時,此代碼必須將所有來自資料庫的新重繪 實時顯示在索引頁面中
我的porplem 運行此代碼時出現此錯誤:
當前資料庫的 SQL Server Service Broker 未激活。因此,不支持查詢通知。如果要使用通知,請為此資料庫啟用 Service Broker。
我在 Sql Server Management Studio 中撰寫了這個 Sql 命令:
ALTER 資料庫 [ISH_EDVBetreuung] 設定 enable_broker。
但我仍然得到這個錯誤我不知道為什么?
我希望你的幫助
非常感謝
uj5u.com熱心網友回復:
因為它正在為op. 我將此添加為答案。SSMS在下面運行enable broker。
ALTER DATABASE [ISH_EDVBetreuung] SET NEW_BROKER WITH ROLLBACK IMMEDIATE;
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/472709.html
