2013-04-01 56 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); 
    } 
}