c# - Twilio 新 API 5.x

标签 c# twilio

我只想验证是否有人正在测试新的 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/

相关文章:

c# - 如何防止或从工作线程上的堆栈溢出中恢复?

node.js - 我应该多久获取一次新的 twilio 服务 sid?

python - 使用无循环的调用筛选将来电转接至多个号码

python - Django QueryDict 为空 request.POST 但在 request.GET 中填充

python - 确保 Twilio 按顺序发送消息链的最可靠、最有效的方法是什么?

sms - 测试调用国际号码的电话/短信

c# - 大数字和数据类型

c# - 如何修复此错误 : "Error in join expression. Can' t parse query text"

c# - wpf中如何让GridView支持多选

c# - 从具体类生成拦截代理?