我正在寻找一些东西,但我不知道它的名称是什么,而且我还没有找到合适的关键字来查找更多信息。我希望有人能够告诉我我在寻找什么。
我有一个连接到数据库的小型应用程序和一个拥有自己的数据库的 rest API。
目标是保持两者同步。
因此,如果我将一个项目添加到我的 API 并且它成功了,我就可以将它添加到我的数据库中。但它必须是双向的。
示例 1(正常):
1- Add Object A In Api --- Response OK
2- Add Object A In DB --- Response OK
3- Success
示例 2(在 Api 中失败):
1- Add Object A In Api --- Response failed
2- Skip Db
3- Log error
示例 3(在数据库中失败,这是我想要了解更多信息的内容):
1- Add Object A In Api --- Response OK
2- Add Object A In DB --- Response failed
3- Remove Object A from Api
4- Log error
如果没有大量的 try/catch 和自定义错误,我找不到解决这个问题的方法,我相信这是一个常见的模式,具有多个不共享相同工作单元/上下文的数据库。
最佳答案
我认为您正在寻找“distributed transactions”。您将从应用程序之外的有助于协调这一点的东西中受益。
由于它被标记为 C#,我会说 Microsoft 有多种技术可能对此有所帮助。具体细节将取决于您使用的数据库和服务。不过,该 REST 服务可能会使事情变得棘手。
也许这足以让您入门。
关于c# - 双重数据认可?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25297393/