【问题标题】:How do I acknowledge a Stripe event in C# immediately but still process it?如何在 C# 中立即确认 Stripe 事件但仍对其进行处理?
【发布时间】:2019-12-28 23:37:15
【问题描述】:

在 Stripe 的 webhook 最佳实践中指出:

如果您的 webhook 脚本执行复杂的逻辑,或进行网络调用,则该脚本可能会在 Stripe 看到其完整执行之前超时。理想情况下,您的 webhook 处理程序代码(通过返回 2xx 状态代码确认收到事件)与您为该事件执行的任何其他逻辑是分开的。

在 C# 中,如何立即返回 200 响应,然后进行其他处理?

【问题讨论】:

标签: c# asp.net-web-api stripe-payments


【解决方案1】:

你可以考虑使用Task对象。在 BackendProcessing() 中编写您需要的任何自定义逻辑。 HttpStatusCode.OK 将返回 200。

    public IHttpActionResult YouApiMethod()
    {
        var customLogic = new[]
        {
            Task.Run(() => BackendProcessing())
        };

        return new HttpStatusCodeResult(HttpStatusCode.OK);
    }

【讨论】:

  • 这对我不起作用,因为注入的服务在 BackendProcessing() 完成之前就被处理掉了。
猜你喜欢
  • 1970-01-01
  • 2011-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多