我只想验证是否有人正在测试新的 C# Twilio 帮助程序类 5.x,以及现在如何管理异常管理。由于以下原因,新 API 破坏了我的代码:
我的代码中有一个像这样的发送消息方法:
public static MessageResource SendMessage(SmsMessage smsMessage, out MessageResource msgResult)
{
_log.DebugFormat( "[ClassName: {0}] [Executing Method: {1}]", MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name );
SmsConfiguration smsRestClient = new SmsConfiguration( smsMessage.ChannelName );
msgResult = MessageResource.Create(
from: new PhoneNumber(smsMessage.MessageFrom),
to: new PhoneNumber(smsMessage.MessageTo),
body: smsMessage.MessageBody,
mediaUrl: new List<Uri>() { new Uri( smsMessage.MessageAttachments ) },
statusCallback: new Uri( smsRestClient.ConfigToSmsStatusCallbackUrl.isValidUrl( false ) ? smsRestClient.ConfigToSmsStatusCallbackUrl : null)
);
return msgResult;
}
新的静态方法 Init 正在 SmsConfiguration
中执行,没有问题。但是在我的 4.x 版本而不是 MessageResource
中,我一直在使用 Message 类,并且该 Message 类有一个 RestException
,它包含来自 Twilio 的所有错误,现在如果我使用 MessageResource
我需要使用 Try..Catch
并且 msgResult
从未被填充。因为 msgResult
变量只填充了传递给 Twilio 的成功消息,所以每一行代码都指向 explode。
有什么想法吗?
最佳答案
我已经找到解决办法了!必须实现 ApiException
而不是 SystemException。使用 APIException,我创建了一个 MessageResult
类型的对象,并将 Exception 和 MessageResource
作为属性,然后相应地用 boolean
标志填充 RestException
模拟。
关于c# - Twilio 新 API 5.x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42658808/