gpt4 book ai didi

javascript - 对丢弃的 http 连接进行重复处理

转载 作者:可可西里 更新时间:2023-11-01 17:07:47 24 4
gpt4 key购买 nike

客户端应用程序创建资源并将资源移动到服务器,即一旦客户端从服务器接收到 HTTP 200,它就会删除本地副本。

简化的 Controller 操作如下所示:

[HttpPost]
public IHttpActionResult PostResource(MyModel model)
{
// creates Id
await _db.Insert(model);

return Ok(model);
}

有时会发生资源持久化到数据库而客户端断开连接(例如在中国,东南亚),创建服务器端资源但客户端不知道删除本地副本并重试. Sine HTTP 是一种无状态协议(protocol),服务器也不知道客户端不再监听。

避免以这种方式创建重复项的好策略是什么?

最佳答案

您需要对模型进行某种标识。有几种可能的策略:

  1. 客户端创建并添加到模型的简单 GUID。如果它尝试提交一个与服务器已保存的先前模型具有相同 ID 的模型,则会出现错误或类似的错误。这里的技巧是如何确保客户端始终生成相同的 ID 或将其保存在某个地方。
  2. 一些服务器端根据模型的内容(这可能很昂贵)和客户端信息(IP、名称等)生成 ID。

关于javascript - 对丢弃的 http 连接进行重复处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33601895/

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