我在Visual Studio 2017中使用Twilio REST客户端。在为simple SMS autoresponder添加Studio Flow之后,我不再能够使用Twilio REST API从我的ASP.net应用程序发送SMS消息。
错误消息是“需要升级”
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帐户中没有错误消息或通知,指出有问题或需要解决。有没有人经历过这样的事情?
答案 0 :(得分:2)
修改Twilio项目似乎使其成为一个受TLS 1.2要求约束的“新”项目,该要求刚刚在19/3/28实施。通过将Windows和.NET更新到最新更新并在访问Twilio REST API之前显式启用TLS 1.2,可以解决该问题:
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 'Force TLS 1.2
答案 1 :(得分:1)
Twilio返回需要升级。直接使用ServicePointManager.SecurityProtocol
设置版本确实可以解决问题,但这不是一个好主意,因为当发布新的TLS版本时,它会过时。相反,出于某些原因,请参见 Transport Layer Security (TLS) best practices with the .NET Framework 。
在我看来,这是由于Web.config
中的这一行造成的:
<httpRuntime targetFramework="4.5" />
将其设置为我正在使用的实际.NET Framework版本,修复了Twilio错误。