2014-03-03 34 views
0

我们正在开发iPhone应用程序(用于购物)并且有一个dotnet应用程序,它接受来自iphone的请求并处理它们。先发送邮件,然后执行代码

//How it works 
  • iPhone发送的付款细节处理的dotnet应用。
  • dotnet使用交易中的一些支付平台。
  • 返回一条消息,iPhone交易是否成功与否

    //How it has to work 
    
  • iPhone发送的付款细节处理的dotnet应用。

  • 控制器立即返回一些消息(只是为了确保已收到这些细节)。
  • 而处理请求(实际支付过程)
  • 通知通过电子邮件的交易是否成功与否//this part is already implemented

所以我需要返回事务处理,即使之前的消息(以使其更用户友好且不会因为整个过程造成的延迟而烦扰他们)。消息发送后,应该转到实际的付款过程。我怎样才能做到这一点?

回答

0

尝试使用异步库,如SignalR

+0

谢谢您给我一个想法。我会试试这个。 – user

1

只要写你的代码异步像这样:

public ActionResult ProcessPayment(PaymentModel model) 
{ 

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

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

注:反正你的解决方案没有任何后备策略。如果您通过付款过程或邮件发送过程失败,您会怎么做?如果您需要全面的解决方案,请使用SignalR组件(尽管它更复杂)