Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.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
Sql 通知客户机数据库更改的最佳方法_Sql_Asp.net_Azure_Xamarin_Azure Sql Database - Fatal编程技术网

Sql 通知客户机数据库更改的最佳方法

Sql 通知客户机数据库更改的最佳方法,sql,asp.net,azure,xamarin,azure-sql-database,Sql,Asp.net,Azure,Xamarin,Azure Sql Database,我一直在这里和Xamarin论坛上研究和阅读许多不同的主题,但我一直很难理解我所寻找的概念。我觉得关于事件消息传递的所有信息都非常模糊,因为我在类似的用例中找不到任何东西,这让我感到惊讶,因为我相信我的场景是一个非常常见的场景,我认为我只需要被指向正确的方向,更好地理解我到底需要什么 我正在寻找的是让我的应用程序在运行时高效地侦听数据库更新的最佳方法。在我的特定用例中,一个用户向应用程序上的另一个用户发送一个连接,很像Linkedin。我假设监听与在聊天应用程序中监听消息时使用的方式相同 我使用

我一直在这里和Xamarin论坛上研究和阅读许多不同的主题,但我一直很难理解我所寻找的概念。我觉得关于事件消息传递的所有信息都非常模糊,因为我在类似的用例中找不到任何东西,这让我感到惊讶,因为我相信我的场景是一个非常常见的场景,我认为我只需要被指向正确的方向,更好地理解我到底需要什么

我正在寻找的是让我的应用程序在运行时高效地侦听数据库更新的最佳方法。在我的特定用例中,一个用户向应用程序上的另一个用户发送一个连接,很像Linkedin。我假设监听与在聊天应用程序中监听消息时使用的方式相同

我使用的是SQL Server和ASP.NET后端,据我所知,SQL不像Firebase那样是实时数据库,因此我无法直接连接到它来监听更改

从我的研究中,我发现我可能需要的是消息服务或事件服务。这似乎是我所需要的,但我只是对服务的性质感到困惑,以及它是否适合我所需要的。我还假设典型的用例是,当通过调用web api对数据库进行更改时,我会发送一个事件

再一次,我只是在寻找一些指向正确方向的指针。 谢谢

使用SQL数据库(目前),您无法订阅事件。使用Azure Cosmos DB,您可以使用change feed+Azure函数来获取这些更改

只要数据库中发生更改,就可以将消息添加到队列中。然后,您可以通过该消息触发Azure函数


PS:您也可以使用事件中心+Azure功能

谢谢你的回复。理论上,我可以使用事件集线器并在web API中触发事件,而不必迁移到Azure Cosmos db吗?我不知道你最后一句话是不是这个意思。谢谢这取决于您的场景,但基本上您需要的是一些基于事件的方法。你可以使用我提供的任何解决方案。。。