c# - ServiceStack:异步/等待服务处理程序

标签 c# web-services asynchronous async-await servicestack

我读过一些涉及这个问题的问题,尽管其中许多问题已经有好几年了:

如何在 ServiceStack API 中编写 Service 处理程序,使其成为 async/await?

docs.servicestack.net 上根本没有提到 async/await 的文档,我只是找到了一些社区论坛帖子。我认为您唯一需要做的就是更改此非异步方法:

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/

相关文章:

Android ksoap2 UsernameToken 认证安全处理失败

java - 是否有理由在 Java EE 的 @Webservice(.....) 注释中使用括号?

java - 通过 JSP 使用 Web 服务 JAX

java - OkHttp 如何在不使用线程的情况下使用看似同步的 HTTP 连接执行并行 HTTP 请求?

javascript - 了解放置 `await` 关键字的位置

asynchronous - Flutter 无法从剪贴板读取

c# - 自定义字符串的 TimeSpan 转换

c# - 如何将 Fitnesse 与 Autofac/IOC 集成?

C# 与 VB.NET - 空结构的处理

c# - 什么是 Unity InjectionConstructor 属性?