Asp.net Webforms: Создать приемник webhook для typeform - PullRequest
0 голосов
/ 08 февраля 2019

Как я могу сделать приемник webhook с веб-формами asp.net для Typeform и как я буду получать данные в моем приложении всякий раз, когда кто-то отправляет мою форму.

1 Ответ

0 голосов
/ 12 февраля 2019

Чтобы предоставить конечную точку для получения запроса POST, я бы создал обработчик HTTP в мире asp.net, известный как «Универсальный веб-обработчик», который представляет собой файл с расширением .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

...