C# 在在线用户上方的聊天窗口中实现facebook类型的通知
我在我的网站(asp.net C#)上有一个管理部分,在该部分中,该人员应获得有关数据库上发生的各种操作(如插入更新等)的通知 我希望在特定用户执行添加新数据之类的操作时得到通知C# 在在线用户上方的聊天窗口中实现facebook类型的通知,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,我在我的网站(asp.net C#)上有一个管理部分,在该部分中,该人员应获得有关数据库上发生的各种操作(如插入更新等)的通知 我希望在特定用户执行添加新数据之类的操作时得到通知 我如何在SQL Server 2008中实现这一点。在SQL中,您可以有针对更改运行的触发器,但在SQL之外,您可以查看轮询(使用服务或网站本身缓存最后一条记录的索引,并查看是否插入了另一个id) 如何存储表的“最后插入的id”,然后进行检查(假设为INT键): 这将返回上次检查时的所有新条目。当然,如果发现新条目,您
我如何在SQL Server 2008中实现这一点。在SQL中,您可以有针对更改运行的触发器,但在SQL之外,您可以查看轮询(使用服务或网站本身缓存最后一条记录的索引,并查看是否插入了另一个id) 如何存储表的“最后插入的id”,然后进行检查(假设为INT键): 这将返回上次检查时的所有新条目。当然,如果发现新条目,您需要更新缓存的id,以便下次调用检查更多新条目 我建议您将此作为一项服务或计划任务;也就是说,您不希望每个管理员在每次访问页面时都进行查询以检查新条目。然后,您可以将事件存储在消息队列中,并在用户访问页面(或使用AJAX轮询)时向用户转储新通知 或者,如果您正在处理所有CRUD操作(您的站点正在进行任何和所有更新,并且不使用其他外部进程),您可以在存储库中放置日志/跟踪代码。e、 g:
public class MessageRepository : IMessageRepository<Message>
{
//
// ...
//
void Add(Message message)
{
//
// add to database code
//
// some logging utility that's tracking transactions against specific
// database elements and reporting them back to some notification log
// that can then be output to the admin
this.LogTransaction<Message>(message, TransactionType.Create);
}
}
公共类消息存储库:IMessageRepository
{
//
// ...
//
无效添加(消息)
{
//
//添加到数据库代码
//
//一些日志记录实用程序,它根据特定的
//数据库元素并将它们报告回某个通知日志
//然后可以输出到管理员
this.LogTransaction(message,TransactionType.Create);
}
}
然而,这当然会带来自己的开销。这不是一个家庭作业网站。你应该让我们看看你试过什么。
public class MessageRepository : IMessageRepository<Message>
{
//
// ...
//
void Add(Message message)
{
//
// add to database code
//
// some logging utility that's tracking transactions against specific
// database elements and reporting them back to some notification log
// that can then be output to the admin
this.LogTransaction<Message>(message, TransactionType.Create);
}
}