如何从WCF调用返回响应然后再做更多工作?

Not*_*Dan 0 .net c# wcf multithreading

我有一个同步Web服务调用,它返回一条消息.我需要快速返回一条消息,该消息基本上表明订单已收到.然后我需要花几分钟处理订单,但不能阻止服务电话那么长时间.那么我如何从Web服务返回,然后再做一些东西呢?我猜我需要在返回之前分叉一些其他线程或东西,但我不确定最好的方法.

string ProcessOrder(Order order)
{
  if(order.IsValid)
  {
      return "Great!";
      //Then I need to process the order
  }
}
Run Code Online (Sandbox Code Playgroud)

Noa*_*oah 5

你可以打开一个新的线程并让它做你需要的,而你的主线程返回很棒.

string ProcessOrder(Order order)
{
  if(order.IsValid)
  {
            //Starts a new thread
            ThreadPool.QueueUserWorkItem(th =>
                {
                    //Process Order here

                });

      return "Great!";
  }
}
Run Code Online (Sandbox Code Playgroud)