如何解决关于Twilio网页挂钩
我已经开发了应用程序,该应用程序通过twilio发送短信。 我需要跟踪短信状态-交付,失败等。因此,我使用twilio提供的Web挂钩。
当然,我出于某些目的将发送的短信保存到数据库中,然后还更新了数据库中的短信状态。 我通过获取smsId(发送短信时twilio返回的内容)将此ID保存到数据库中来跟踪交付,如上所述。
实际问题: Web Hook非常快地发布到了我的端点状态-实际上,在那个时候,我事件不希望将其保存在数据库中。 我尝试了一些优化-但没有任何帮助-Web钩子仍然更快-因此资源不在db中-当然我得到了NullReferenceException。
解决这个问题-我来到了解决方案-尝试多次读取资源,但会有一些延迟,最后它获得了资源,一切都很好。
实际上-我不喜欢在很小的时间内多次查询数据库。
还有什么其他解决办法?
代码示例:
var response = _notificationSender.SendSms(new SendSmsRequest
{
Text = text,ToNumber = contact.Mobile ?? contact.Phone
});
_db.Database.ExecuteSqlCommand(@"INSERT INTO [Table] ([field],.. ) Values(Field1,...),");
SendSms:
public SendSmsResponse SendSms(SendSmsRequest request)
{
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
TwilioClient.Init(_twilioConfiguration.AccountSid,_twilioConfiguration.Token);
var message = MessageResource.Create(
body: request.Text,from: new Twilio.Types.PhoneNumber(FromNumber),statusCallback: new Uri(_twilioConfiguration.StatusCallbackUrl),to: new Twilio.Types.PhoneNumber(request.ToNumber)
);
return new SendSmsResponse
{
Ok = true,From = _twilioConfiguration.FromNumbers.First().Value,Sid = message.Sid,ErrorCode = (TwillioErrorCode?)message.ErrorCode,SmsStatus = response.SmsStatus
};
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。