扑我的头靠在墙上为接下来的几个小时,我慢慢开始意识到在我的问题奠定了,所以让我给你一个回顾后:我想当行被插入到数据库来改变网站的字符串, 但由于某些原因,告诉我,我所做的触发时,有过变化到数据库不火都什么时候插入,UDPATE或无论发生什么事。 该表的服务代理上。
这是所涉及的代码:
namespace WebApplication.SignalR_Data
{
public class NotificationRepository
{
public NotificationInfo GetData()
{
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["ReservationDbContext"].ConnectionString))
{
connection.Open();
using (SqlCommand command = new SqlCommand(@"SELECT COUNT(*) FROM dbo.Reservations", connection))
{
command.Notification = null;
SqlDependency dependency = new SqlDependency(command);
dependency.OnChange += new OnChangeEventHandler(dependency_OnChange);
if (connection.State == System.Data.ConnectionState.Closed)
connection.Open();
return new NotificationInfo { RowCount = (int)command.ExecuteScalar(), Date = DateTime.Now };
}
}
}
// This is the method that handles the trigger.
public void dependency_OnChange(object sender, SqlNotificationEventArgs e)
{
if (e.Type == SqlNotificationType.Change)
{
NotificationHub.Show();
}
}
}
}
我想,它不工作,因为我犯了错,但遗憾的是我没能发现他们没有。
通过NotificationHub.Show(); 消息被广播到与更新的行数和日期网站的所有客户端,但绝不会在发送的消息,因为触发不火。 有任何想法吗?
先感谢您!