Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 先发送消息,然后执行代码_C#_Asp.net Mvc - Fatal编程技术网

C# 先发送消息,然后执行代码

C# 先发送消息,然后执行代码,c#,asp.net-mvc,C#,Asp.net Mvc,我们正在开发一个iPhone应用程序(用于购物)和一个dotnet应用程序,该应用程序接收来自iPhone的请求并处理它们 //How it works iPhone将支付详细信息发送到dotnet应用程序进行处理 dotnet使用一些来自交易的支付平台 向iPhone返回一条消息,说明交易是否成功 //How it has to work iPhone将支付详细信息发送到dotnet应用程序进行处理 控制器立即返回一些消息(只是为了确保已收到详细信息) 以及请求的流程(实际付款

我们正在开发一个iPhone应用程序(用于购物)和一个dotnet应用程序,该应用程序接收来自iPhone的请求并处理它们

    //How it works
  • iPhone将支付详细信息发送到dotnet应用程序进行处理
  • dotnet使用一些来自交易的支付平台
  • 向iPhone返回一条消息,说明交易是否成功

    //How it has to work
    
  • iPhone将支付详细信息发送到dotnet应用程序进行处理

  • 控制器立即返回一些消息(只是为了确保已收到详细信息)
  • 以及请求的流程(实际付款流程)
  • 通过电子邮件通知交易是否成功
    //此部分已实现

因此,即使在处理事务之前,我也需要返回一条消息(以使其更方便用户,并且不会因为整个流程的延迟而使他们感到烦恼)。消息发送后,应继续实际付款流程。我如何才能做到这一点?

尝试使用异步库,如。

只需编写如下异步代码:

public ActionResult ProcessPayment(PaymentModel model)
{

    System.Threading.Tasks.Task.Factory.StartNew(() =>
    {
        //do your payment processing here...
    });

    return view("success blob blob...");
}

注意:无论如何,您的解决方案没有任何回退策略。如果您未能通过付款流程或邮件发送流程,您会怎么做?!如果您需要一个全面的解决方案,请使用
signal
组件(尽管它更复杂)

谢谢您给我一个想法。我试试这个。