Twilio REST 客户端在添加 Studio Flow 后停止工作



我在Visual Studio 2017中使用Twilio REST客户端。为简单的短信自动回复添加 Studio Flow 后,我无法再使用 Twilio REST API 从我的 ASP.net 应用发送短信。

错误消息为"需要升级"

at Twilio.Clients.TwilioRestClient.ProcessReponse(Reponse response)
at Twilio.Rest.Api.V2010.Account.MessageResource.Create(CreateMessageOptions options, ITwilioRestClient client)
at...

我已经尝试将 Twilio REST API 帮助程序库 NuGet 包升级到最新版本 5.28.0。

错误发生在曾经有效的此基本SMS发送代码上。

Dim message = MessageResource.Create(body:=strBody, from:=New Twilio.Types.PhoneNumber(Credentials.TwilioFixityNewNumberFormatted), [to]:=New Twilio.Types.PhoneNumber(strFormattedNumber))
Return message.Sid

我的 Twilio 帐户中没有错误消息或通知表明有问题或需要什么。有没有人经历过这样的事情?

似乎修改 Twilio 项目使其成为一个受 TLS 1.2 要求的"新"项目,这些要求刚刚在 3 年 28 月 19 日实施。通过将 Windows 和 .NET 更新到最新更新,并在访问 Twilio REST API 之前显式启用 TLS 1.2,解决了该问题:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12   'Force TLS 1.2

Twilio 在使用旧 TLS 版本时返回"需要升级"。直接使用ServicePointManager.SecurityProtocol设置版本确实可以修复它,但这不是一个好主意,因为当发布新的 TLS 版本时它会过时。相反,请参阅传输层安全性 (TLS( 最佳做法与 .NET 框架,因为它可能选择旧版本的某些原因。

就我而言,这是由于Web.config中的这一行:

<httpRuntime targetFramework="4.5" />

将其设置为我正在使用的实际.NET Framework版本修复了Twilio错误。