2013-04-01 58 views
1

我想有一个服务操作实现以下目标:异步服务操作:无阻断

  • 不允许它的线程是在阻止
  • “等待”来自另一个输入返回之前的服务

这两个中的第一个是MVC asynchronous controllers具有的功能。我不确定WCF iasync operation pattern是否等同于允许service-dispatch线程在等待异步操作完成时返回到线程池。对于输入部分的“等待”,我很好奇,如果某人有代码示例,或者甚至是一个微小的框架,它被设计为在系统中发生一些完全不相关的事件时被调用EndOperation。如果做得对,这种行为可能相当于“长时间投票”。

回答

0

那么,使用关键字异步的Asynchrone Service-Operation。它适用于.NET 4.5。块的原因是I/O操作,这需要更多的时间来获得结果。

[ServiceContract] 
public interface IFlightService 
{ 
    [OperationContract] 
    cancelFlight(); 
} 

public class FlightService : IFlightService 
{ 
    public async cancelFlight() 
    { 
     await Task.Delay(5000); 
    } 
}