此简单代码用作Twilio Webhook来接收SMS消息。将服务器从2008迁移到运行IIS 8.5的新Azure VM之后,它不再起作用。
我创建了一个测试html表单发布到此页面,并意识到它似乎忽略了post方法。
我认为这可能是IIS的问题,所以我将其移动到具有相同IIS配置的同一服务器上的另一个站点,并且该站点上可以运行。
然后我尝试了这些,没有任何改变:
-通过IIS控制台显式添加POST动词。
-将应用程序池更改为.NET 4.5 Classic
-添加完全合格的HttpContext.Current.Request.Form
相关站点上没有其他类似这样的传统POST页面。有人遇到过这个吗?我在web.config中看不到任何内容,并且没有主意。搜索未显示任何内容。
这是测试HTML的简单方法:
<form id="form1" runat="server" action="Receive_SMS_Test.aspx" method="post">
<div class="card">
<h2>Test Twilio SMS Hook</h2>
<asp:Label ID="Label2" runat="server" Text="SMS Body" />
<asp:TextBox ID="Body" runat="server" />
<br />
<asp:Label ID="Label1" runat="server" Text="SMS From" />
<asp:TextBox ID="From" runat="server" />
<asp:LinkButton ID="btnSendSMSTest" runat="server" Text="Submit" />
</div>
</form>
这里正在接收代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack Then
Dim i As Integer = Request.Form.Count !THIS IS ZERO
Dim sPhoneFrom As String = Request.Form("From") !NOTHING
Dim sBody As String = Request.Form("Body")
End If
End Sub