SendGrid 事件 Webhooks VB.net

SendGrid Event Webhooks VB.net

我正在使用 sendgrid WebHook,我已经在此处启用了事件通知:

https://app.sendgrid.com/settings/mail_settings

当我单击“测试您的配置”时,它会工作并向我发送一个 POST 到我配置的 URL,但我没有从默认的 POST 中获取任何数据他们在此处的文档中解释的参数:

https://sendgrid.com/docs/API_Reference/Webhooks/event.html

当我尝试将数据从我的计算机发送到服务器时,它确实注册了我在 URL...

上输入的数据

这是我的代码:

    <%@ WebHandler Language="VB" Class="HandlerSendGrid" %>

Imports System
Imports System.Web

Public Class HandlerSendGrid : Implements IHttpHandler

    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

        Dim sgevent As String = If(IsNothing(context.Request.QueryString("event")), "naopossui", context.Request.QueryString("event"))
        Dim email As String = If(IsNothing(context.Request.QueryString("email")), "naopossui", context.Request.QueryString("email"))
        Dim response As String = If(IsNothing(context.Request.QueryString("response")), "naopossui", context.Request.QueryString("response"))
        Dim sgid As String = If(IsNothing(context.Request.QueryString("sg_event_id")), "naopossui", context.Request.QueryString("sg_event_id"))
        Dim bounce As String = If(IsNothing(context.Request.QueryString("bounce")), "naopossui", context.Request.QueryString("bounce"))
        Dim click As String = If(IsNothing(context.Request.QueryString("click")), "naopossui", context.Request.QueryString("click"))
        Dim open As String = If(IsNothing(context.Request.QueryString("open")), "naopossui", context.Request.QueryString("open"))

        Dim ID As Integer = EmailDL.InsSGTeste(sgevent, email, response, sgid, bounce, click, open)
    End Sub

    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class

我正在做的是获取 URL 上的数据,然后将我收到的所有参数插入到我的数据库中,如果这些参数中没有数据,则参数将只是一个名为 "naopossui".

已经通过在 c# 中转换成 vb

的方式解决了这个问题

https://sendgrid.com/blog/tracking-email-using-azure-sendgrid-event-webhook-part-1/