我已经阅读了一些涉及此问题的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);
}


通过这样做,异步/等待模型将通过调用堆栈神奇地被利用吗?

神话? =)

最佳答案

是的,仅返回一个任务将使您的服务在ServiceStack中保持异步和非阻塞状态。

关于c# - ServiceStack:异步/等待服务处理程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56672363/

10-17 02:10