Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在在线用户上方的聊天窗口中实现facebook类型的通知_C#_Asp.net_Sql Server 2008 - Fatal编程技术网

C# 在在线用户上方的聊天窗口中实现facebook类型的通知

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键): 这将返回上次检查时的所有新条目。当然,如果发现新条目,您

我在我的网站(asp.net C#)上有一个管理部分,在该部分中,该人员应获得有关数据库上发生的各种操作(如插入更新等)的通知

我希望在特定用户执行添加新数据之类的操作时得到通知


我如何在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); 
  }
}