Microsoft ASP.NET WebHooks 自定义接收器获得多次尝试
Microsoft ASP.NET WebHooks custom receiver gets multiple attempts
我已经通过实现 WebHookHandler 为 Microsoft ASP.NET WebHooks 实现了自定义接收器。
public class Web_WebHookHandler : WebHookHandler
{
public Web_WebHookHandler()
{
this.Receiver = CustomWebHookReceiver.ReceiverName;
}
public override Task ExecuteAsync(string generator, WebHookHandlerContext context)
{
SendNotification();
return Task.FromResult(true);
}
private void SendNotification()
{
Task.Factory.StartNew(() => {
// doing some processing
});
}
}
每当某个事件被触发时,它会击中我上面的接收器 3 次。我已经尝试了一切,但没有任何区别。请帮我整理一下。
尝试在 return 之前的 ExecuteAsync
中添加以下代码。 .即
context.Response = new System.Net.Http.HttpResponseMessage (System.Net.HttpStatusCode.Gone);
return Task.FromResult(true);
实际上,webhooks 调度程序会检查您的接收器的响应,如果未发回正确的响应,则会重试。因此,为了告诉调度程序请求已处理并且一切正常,您需要设置 context.Response
和 return Task.FromResult(true)
。
否则它将至少继续尝试 3 次。
我已经通过实现 WebHookHandler 为 Microsoft ASP.NET WebHooks 实现了自定义接收器。
public class Web_WebHookHandler : WebHookHandler
{
public Web_WebHookHandler()
{
this.Receiver = CustomWebHookReceiver.ReceiverName;
}
public override Task ExecuteAsync(string generator, WebHookHandlerContext context)
{
SendNotification();
return Task.FromResult(true);
}
private void SendNotification()
{
Task.Factory.StartNew(() => {
// doing some processing
});
}
}
每当某个事件被触发时,它会击中我上面的接收器 3 次。我已经尝试了一切,但没有任何区别。请帮我整理一下。
尝试在 return 之前的 ExecuteAsync
中添加以下代码。 .即
context.Response = new System.Net.Http.HttpResponseMessage (System.Net.HttpStatusCode.Gone);
return Task.FromResult(true);
实际上,webhooks 调度程序会检查您的接收器的响应,如果未发回正确的响应,则会重试。因此,为了告诉调度程序请求已处理并且一切正常,您需要设置 context.Response
和 return Task.FromResult(true)
。
否则它将至少继续尝试 3 次。