gpt4 book ai didi

CalDav UID 由服务器分配

转载 作者:行者123 更新时间:2023-12-04 19:44:24 26 4
gpt4 key购买 nike

我用 C# 为我们销售的产品定制了一个 CalDav 服务器,一切都很好。只有一件事困扰着我,但在标准中我找不到解决我“烦恼”的方法。

当客户端连接到我们的 CalDav 服务器并创建一个新的 Event , 客户端告诉服务器 UID用于提交的事件。我们的服务器保存了 Event在它自己的数据库中(作为不同的模型)并且该对象获得 ID从我们的服务器。

我回复客户端对象已保存并且它获得了一个新位置,这使得客户端检索对象的最新版本。

但我很想改变UID客户端发送的事件,到 ID我们用来查找对象。

有没有办法告诉客户端“我为您存储了对象,但请检索此版本,更改后的 UID 并转储旧的?”

因为它现在的工作方式是客户端确实在将新创建的 Event 发送给我们后检索它(使用 PUT 请求),但由于新的 UID Event有,客户认为它是一个新对象。

我已经尝试这样做了,告诉客户他们试图发布到 /mycaldav/SOME-WEIRD-UID-HERE.ics 的项目。实际上应该发布到 /mycaldav/MY-OWN-UID.ics .

这导致发布到正确的 URL,但错误的 UID .

最佳答案

这很简单:在 CalDAV/CardDAV 中,UID 由客户端分配(对于 PUT 也是 URL)。
您不能只是更改它,因为客户端可能还需要“它的”ID 来关联客户端的内容(例如附件、调度请求、关联的联系人等)。

摘要:您需要将客户端分配的 UID(和 URL)映射到服务器上的内部 ID。这很不方便,但它的工作方式。也许只是将它存储在用于存储客户端所有 X 属性的相同结构中?

关于CalDav UID 由服务器分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25551337/

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