我已经阅读了一些涉及该问题的SO问题,即使其中许多问题已有数年之久了。
如何在ServiceStack API中编写服务处理程序,使其变为异步/等待状态?
docs.servicestack.net上没有任何文档完全提到异步/等待,我只是找到了一些社区论坛帖子。我认为,您唯一需要做的就是更改此非异步方法:
public GetBookingResponse Get(GetBooking getBooking)
{
Booking booking = _objectGetter.GetBooking(getBooking.Id);
return new GetBookingResponse(booking);
}
异步方法是这样的:
public async Task<GetBookingResponse> Get(GetBooking getBooking)
{
Booking booking = await _objectGetter.GetBookingAsync(getBooking.Id);
return new GetBookingResponse(booking);
}
然后通过这样做,异步/等待模型将通过调用堆栈神奇地被利用吗?
神话? =)
答案 0 :(得分:2)
是的,仅返回任务将使您的服务在ServiceStack中保持异步和非阻塞状态。