gpt4 book ai didi

.net - 我应该如何保证 "message"被发送和存储一次且仅一次?

转载 作者:行者123 更新时间:2023-12-04 07:05:08 25 4
gpt4 key购买 nike

我正在为两家公司设计 EDI 系统:A 公司和 B 公司。A 公司已经作为一家小型制造企业存在,B 公司是一家围绕特定产品成立的新公司,A 公司的所有者参与其中. A 公司将拥有为 B 公司生产产品的专有权。

我负责这两家公司的所有 IT 和开发工作。我需要设计一个 EDI 系统,用于将订单和其他信息从 B 公司传送到 A 公司,反之亦然(用于确认和状态更新等)。

这种类型的东西对我来说是相当新的,所以我只是在寻找关于如何将新订单从 B 公司发送到 A 公司并保证它到达那里、存储并且不会被多次发送的建议.

我想我可能会用网络服务来做到这一点。我应该研究 WCF 服务还是坚持使用 ASP.Net Web 服务?

我假设我会为每个订单发送一个唯一的 ID,这样 A 公司的系统就会识别出如果出现混淆,不会将其保存两次,但是我如何确定 A 公司获得了信息?

任何其他提示或建议都非常受欢迎。

最佳答案

Microsoft: ASMX Web Services are a “Legacy Technology”了解为什么不坚持使用 ASMX Web 服务。

订单不是已经有一些唯一标识了吗?

无论如何,公司 A 的服务将希望确保安全记录订单(可能在数据库中),只有这样“发送订单”操作才能完成。

在 A 公司,我将创建一个订单处理服务。到目前为止,它只需要一种方法:AcceptOrder。这将接受处理订单所需的所有信息。此操作首先将订单保存到数据库中,一旦数据安全存储,将返回某种确认代码。

再次尝试发送相同的订单会失败,因为您将在 B 公司的唯一订单标识符上保留一个唯一键。

我们将信任我们的数据库,这样一旦我们知道数据已经提交,就可以安全地回答“我们已经得到了!”

也可以使用其他技术。事务队列,例如,使用 MSMQ。它的好处是,一旦它说它拥有数据,你就可以相信它拥有数据。

关于.net - 我应该如何保证 "message"被发送和存储一次且仅一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1224382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com