【发布时间】:2020-05-07 09:07:51
【问题描述】:
我正在使用 Forge .NET SDK。要清除我的 Forge App 帐户下的所有 appbundles 和活动,我调用:
await _designAutomation.DeleteForgeAppAsync("me");
之后我需要(重新)为我的 Forge 应用创建一个新昵称,然后(重新)创建所需的 AppBundle 和 Activity:
await _designAutomation.ForgeAppsApi.CreateNicknameAsync("me", new NicknameRecord { Nickname = NICKNAME });
await EnsureAppBundle();
await EnsureActivity();
上述三个调用中的一个经常失败,因为 Forge 应用程序仍在被删除,例如昵称创建冲突,或者 AppBundle/Activity 无法创建。
https://forge.autodesk.com/en/docs/design-automation/v3/reference/http/forgeapps-id-DELETE/ 的 Forge 文档说:这可能需要 2 分钟。在此期间,应用将无法发出成功的请求。
对 DeleteForgeAppAsync 的异步调用是否必须等待删除完成?
感谢您的帮助。
马克西姆
【问题讨论】:
-
一旦
await _designAutomation.DeleteForgeAppAsync("me");收到响应(即204 ok),它就会返回。通常 204 表示请求已被服务器完成,因此发生了一些可疑的事情。您收到 204 作为对await _designAutomation.DeleteForgeAppAsync("me");的回复,对吗? -
是的,我收到 204 响应。但我认为.NET SDK 应该提供等待完全删除的功能。否则我们怎么知道什么时候可以尝试在已清除的 Forge App 中创建昵称、appbundle 等?
-
forge .net sdk 只是根据github.com/Autodesk-Forge/forge-api-dotnet-design.automation/… 对端点进行调用所以是的,如果有一个端点来检查这项工作是否完成
-
所有端点检查是否完成并返回 409“Forge App 正在被删除。”。您可以使用它来找出答案。
标签: autodesk-forge autodesk-designautomation