Asp.net Webforms:为typeform创建webhook接收器

时间:2019-02-08 00:57:26

标签: asp.net webforms webhooks typeform

如何使用asp.net Web表单制作Typeh的Webhook接收器,以及每当有人提交我的表单时如何在我的应用程序中获取数据。

1 个答案:

答案 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