使用 Twilio 和 asp.net Webforms 接收短信
Receive SMS using Twilio and asp.net Webforms
Twilio 文档提供了 asp.net MVC 的指南,但不提供 webforms 的指南。我可以毫无问题地发送 SMS 消息,但是接收 SMS 回复是我遇到的问题。我发现建议 webforms 用户使用通用处理程序,但到目前为止我只有这些,我不知道如何从处理程序中获取信息。而且,我必须向 Twilio 控制台提供 URL,但我不知道要提供什么 URL。我可以将它放在我的任何网站页面上,例如“mywebsite.com/??” “??”我不知道在哪里以及如何引用我的处理程序。
我在这里创建了处理程序“message.ashx”:
Public Class message : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Context.Response.ContentType = "application/xml"
Dim Body = Context.Request.Forms("Body")
Dim response As New Twilio.TwiML.MessagingResponse()
response.Message("You said: " & Body)
Context.Response.Write(response.ToString())
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
所以问题是,既然我有了这个处理程序,我如何获取要查看的 aspx 页面上的信息?我将 url 提供给 Twilio 控制台以获得答复。我正在使用 C#,但答案可以是 C# 或 VB.NET,因为我可以翻译。
我在上面评论的帮助下解决了这个问题。这是 aspx webforms 中的 Httphandler。问题是他们更新了他们的参考文献,因此使用正确的词会有所帮助,例如“MessagingResponse”,而不是“Twilio.TwiML.MessagingResponse”。我还尝试将我的网站迁移到 MVC,并让它与 Twilio 一起工作,但在迁移过程中遇到了其他问题。现在我只需要弄清楚如何实际接收用户发送的文本。 Twilio 文档在很多方面都非常模糊。
Public Class SmsHandler : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "application/xml"
Dim response = New MessagingResponse
response.Message("Hello World?")
context.Response.Write(response.ToString())
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
Twilio 文档提供了 asp.net MVC 的指南,但不提供 webforms 的指南。我可以毫无问题地发送 SMS 消息,但是接收 SMS 回复是我遇到的问题。我发现建议 webforms 用户使用通用处理程序,但到目前为止我只有这些,我不知道如何从处理程序中获取信息。而且,我必须向 Twilio 控制台提供 URL,但我不知道要提供什么 URL。我可以将它放在我的任何网站页面上,例如“mywebsite.com/??” “??”我不知道在哪里以及如何引用我的处理程序。
我在这里创建了处理程序“message.ashx”:
Public Class message : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Context.Response.ContentType = "application/xml"
Dim Body = Context.Request.Forms("Body")
Dim response As New Twilio.TwiML.MessagingResponse()
response.Message("You said: " & Body)
Context.Response.Write(response.ToString())
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
所以问题是,既然我有了这个处理程序,我如何获取要查看的 aspx 页面上的信息?我将 url 提供给 Twilio 控制台以获得答复。我正在使用 C#,但答案可以是 C# 或 VB.NET,因为我可以翻译。
我在上面评论的帮助下解决了这个问题。这是 aspx webforms 中的 Httphandler。问题是他们更新了他们的参考文献,因此使用正确的词会有所帮助,例如“MessagingResponse”,而不是“Twilio.TwiML.MessagingResponse”。我还尝试将我的网站迁移到 MVC,并让它与 Twilio 一起工作,但在迁移过程中遇到了其他问题。现在我只需要弄清楚如何实际接收用户发送的文本。 Twilio 文档在很多方面都非常模糊。
Public Class SmsHandler : Implements IHttpHandler
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Response.ContentType = "application/xml"
Dim response = New MessagingResponse
response.Message("Hello World?")
context.Response.Write(response.ToString())
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class