代码之家  ›  专栏  ›  技术社区  ›  bastijn

通知确认分离+存储处理通知asp.net mvc

  •  0
  • bastijn  · 技术社区  · 14 年前

    从我的web应用程序向第三方付款后,第三方在直接确认消息旁边发送通知消息。此通知消息存储在我的数据库中以备将来使用,我必须将确认的通知发回。

    为此,我目前使用:

    return Content("received")
    

    这是服务的标准协议。目前,我处理传入的通知的方式是首先存储它,而不是处理它(在我的应用程序中更新帐户信用等),最后发送响应。这一切都很好。但我想把处理通知和存储+响应webservice分开。

    问题是“return content()”正在结束我的controller方法,因此我不能简单地首先将确认消息发送回webservice,然后调用handle_notification()方法。

    因此,解决方案是将return content()部分替换为不涉及“return”的相等部分,这是否可能,因为我现在没有完整的url调用,我无法轻松创建一个简单的http post web请求(我尝试过,可能犯了错误,但没有成功)。

    另一种解决方案是使用某种计时器或监听器,定期检查数据库中必须处理的新通知,或者使用监听器监听db new notifications或其他内容。

    如果有的话,这方面的标准程序是什么?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Mathias F    14 年前

    如果您的项目稍微大一点,那么有一个服务来处理订单完成(包括确认付款)的完整工作流是有意义的。

    在我们的服务中,我们不会等待支付提供商的通知,而是主动提取这些数据。如果这是贝宝,那么你有两个选项。不管你走哪条路,都要考虑到支付服务提供商在某个时候会离线。这不应影响您的web应用程序或订购fullfilment服务。