如何使用asp.net Web表单制作Typeh的Webhook接收器,以及每当有人提交我的表单时如何在我的应用程序中获取数据。
答案 0 :(得分:2)
要公开端点以接收POST请求,我将在asp.net世界中创建一个HTTP处理程序,称为“通用Web处理程序”,该文件是扩展名为.ashx的文件。
您可以在此处查看有关如何创建指南的指南: https://briancaos.wordpress.com/2009/02/13/the-ashx-extension-writing-your-own-httphandler/
实现可能看起来像这样:
using System.Web;
using Newtonsoft.Json.Linq; // From https://www.newtonsoft.com/json
namespace MyNamespace
{
public class MyClass : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string body = String.Empty;
context.Request.InputStream.Position = 0;
using (var inputStream = new StreamReader(context.Request.InputStream))
{
body = inputStream.ReadToEnd();
}
dynamic json = JObject.Parse(body);
// Access the webhook payload data ie, get first answer:
var answers = json.form_response.answers;
Console.WriteLine(answers)
context.Response.StatusCode = 200;
context.Response.End();
}
public bool IsReusable
{
get { return true; }
}
}
}
您可以在此处找到不同HTTP处理程序的完整概述: https://msdn.microsoft.com/en-us/library/bb398986.aspx?f=255&MSPPError=-2147217396