【问题标题】:send a changed record of a SQL Server 2012 online database to an application将 SQL Server 2012 在线数据库的更改记录发送到应用程序
【发布时间】:2015-04-21 18:10:39
【问题描述】:

我正在编写两个玩家可以一起在线玩的在线游戏(例如国际象棋)。 每个玩家都应该在他们的计算机上安装了游戏应用程序(由 C# 开发)。 当玩家进行某些操作时,已放置在互联网上的数据库(SQL Server 2012)的记录将被更改。 我的需求:当这个在线数据库的记录发生变化时,整个记录立即发送到双方玩家的游戏应用程序。 谢谢。

【问题讨论】:

  • 这应该由 Web 服务缓存来处理。仅当您需要持久化数据时才保存到数据库(即保存游戏并稍后返回)。

标签: sql-server tsql sql-server-2012 change-tracking change-data-capture


【解决方案1】:

您需要编写一些后台服务。看service broker。我认为,它是您应用的完美解决方案。工作流程是:

  1. 播放器向第一个返回服务发送请求
  2. 将服务插入到服务代理队列
  3. 第二个服务读取队列并将数据插入数据库并向第二个玩家发送通知。

由于服务代理队列是基于事务的结构,您可以创建大量“第二服务”实例来提高应用程序的性能。

【讨论】:

    猜你喜欢
    • 2017-11-02
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多