我目前正在制定一项要求,即“替换之前开发的数据库更改通知的轮询机制”。
让我详细说明一下: 我们有一个oracle数据库,我们已经放置了一些触发器来获取有关表的任何更改的通知。使用它,我们试图获取更改的数据并将其转换为XML / Json,这是WEBAPI的请求体,用于在另一个数据库中执行POST操作。
新的要求是跳过轮询机制并提出类似“我们不会将数据库称为通知,而是每次更新时都会调用我们”。
我做了一些谷歌搜索,每个人都建议采用最佳方法: 数据库更改通知。在这里,我需要向Oracle授予权限,然后在.Net中创建一个应用程序,我可以在其中编写回调函数以供将来处理。直到这里,我很好,但我的问题是:
我需要创建与数据库通信的.Net应用程序是一个Web应用程序,必须始终在线吗?我是否可以创建一个控制台应用程序以获得通知,如果是,数据库将如何联系我的应用程序进行任何更改?当数据库通知我的应用程序有任何更改时,内部流程究竟发生了什么?