【发布时间】:2022-10-18 14:45:13
【问题描述】:
我正在测试一些通过 Twilio 使用出站 SMS 的流,并且对提供的幻数感到非常高兴和印象深刻,例如https://www.twilio.com/docs/iam/test-credentials
但是,如果将 SMS 发送到一个基本上达到超时值的号码时出现问题,我很想看看我们的应用程序如何响应。我还没有找到像这样的神奇数字或知道重现场景的方法,有人可以在这里帮助我吗?
【问题讨论】:
我正在测试一些通过 Twilio 使用出站 SMS 的流,并且对提供的幻数感到非常高兴和印象深刻,例如https://www.twilio.com/docs/iam/test-credentials
但是,如果将 SMS 发送到一个基本上达到超时值的号码时出现问题,我很想看看我们的应用程序如何响应。我还没有找到像这样的神奇数字或知道重现场景的方法,有人可以在这里帮助我吗?
【问题讨论】:
即使您使用的是真实电话号码,我也怀疑 Twilio 只是将请求排在他们这边,因此您总是会从 Twilio 获得非常快速的响应,但这并不一定意味着消息已发送给运营商并交付给一个装置。
如果您使用的是 Twilio 消息传递服务,您可以订阅传递状态回调以获取 SMS 的状态,例如发送、已发送、已交付、失败等 - 请参阅 here。注意:我不知道您是否会收到带有幻数的回调 - 我怀疑不会......无论哪种方式,您都可以非常便宜地提供 Twilio 电话号码来进行测试,例如在澳大利亚,我可以以每月 6 美元的价格购买一个 AU 电话号码,并且我可以在我想停止为此付费时发布该电话号码......
如果您只是希望您的应用程序在调用 Twilio API 时超时,您可以执行以下操作(在 .NET 核心中)以强制在指定时间量内(在下面的示例中为 1 秒)使请求超时:
using var tokenSource = new CancellationTokenSource(TimeSpan.FromMilliseconds(1000));
response = await twilioHttpClient.PostAsJsonAsync($"2010-04-01/Accounts/{accountSID}/Messages.json", request, jsonSerializerOptions, tokenSource.Token);
【讨论】: