为什么我不能使用Serveo而不是Ngrok来隧道连接到在EC2服务器上托管的MVC应用程序,用于在Twilio上接收S



我有一个简单的ASP.NET MVC Web应用程序,该应用程序会听一条消息,并通过标准响应回复。它使用Twilio API和

这是代码:

// Code sample for ASP.NET MVC on .NET Framework 4.6.1+
// In Package Manager, run:
// Install-Package Twilio.AspNet.Mvc -DependencyVersion HighestMinor
using Twilio.AspNet.Common;
using Twilio.AspNet.Mvc;
using Twilio.TwiML;
namespace WebApplication1.Controllers
{
    public class SmsController : TwilioController
    {
        public TwiMLResult Index(SmsRequest incomingMessage)
        {
            var messagingResponse = new MessagingResponse();
            messagingResponse.Message("The copy cat says: " +
                                      incomingMessage.Body);
            return TwiML(messagingResponse);
        }
    }
}

对于要运行的代码,Twilio建议我"虽然有很多方法可以做到这一点ngrok允许Twilio与您的ASP.NET应用程序交谈"

我使用了Ngrok,这使我可以将我的本地环境公开到整个公共互联网上,然后由Ngrok提供的URL访问,Ngrok,但是,每当我重新启动EC2服务器(从而重新启动Ngrok隧道(时,免费版本都会不断更改子域。

我想知道的是,我尝试了一个称为Serveo的替代品,它允许我免费选择一个子域,但是当我向Twilio发送消息时,URL产生了一个错误(400(。

有办法吗?我是ASP.NET MCV Web应用程序和Twilio世界的新手,非常感谢一些指导。

我只需要此代码来继续运行,以便它可以收听SMS并回复。

如果不是,我该如何在AWS上部署?这将为我提供一个向Twilio控制台喂食的URL

'serveo'不起作用的原因是(我相信(您正在使用iis express,而iis express不允许使用主机以外的其他主机。

'ngrok'有一种解决方案,我们的自由vs扩展名为传送带也是如此。目前,输送机在beta中有隧道,但稳定,子域是固定的。您可以从VS或Marketplace的扩展菜单下载它。这是Twilio https://conveyor.cloud/help/writing_webhooks_on_localhost_with_visual_visual_studio_studio_and_iis_express

最新更新