我试图围绕ServiceStack,虽然它声称它有非常好的文档,但到目前为止似乎并非如此.是否有文档实际上说明了要使用哪些接口/基类,以及它们做了什么?
只是..有一堆问题,并且可以找到很少的答案..一个新的API设计显示了一个DTO实现IReturn接口的例子,以及从服务继承的服务 - 但是如果这是现在的首选方式则没有解释,是吗需要实现IReturn,如何处理POST/GET /等等等.
任何链接将不胜感激.
是的,我有样品,但是例如他们在这个IReturn接口上没有任何东西..并且样品无论如何都不会打败文档.
您可以在 wiki 上找到 ServiceStack Web 框架的所有文档
ServiceStack 的新 API本周刚刚发布,其中已经包含了您所有问题的答案。我会回去完整阅读它们,但我会提取回答您问题的片段:
在介绍新 API部分下有:
新的 API 设计通过这个单一的统一接口简化了现有的 IService 和 IRestService :
public interface IService {}
Run Code Online (Sandbox Code Playgroud)
现在可以在单个类中处理 RPC 服务和 Rest 服务请求。该接口仅用作 ServiceStack 用于查找、注册和自动连接现有服务的 Marker 接口。还包括一个方便的具体服务类,其中包含对 ServiceStack 提供者的轻松访问
维基顶部的标题如下:
由于新的 API 设计比现有 API 提供了许多优势,因此我们建议将其用于任何新的 Web 服务开发。这需要一些时间,但我们打算移植所有旧示例以自行采用新 API。仍然喜欢旧 API 的一个原因是,如果您还想支持 SOAP 客户端和端点,而这仍然需要以前的方法强制执行的严格性。
在“灵感”标题下写着:
该提案的优点在于它已经完全符合 ServiceStack 现有的基于消息的语义,这意味着我们能够在创纪录的时间内实现它,而不会对现有代码库造成任何干扰或破坏性更改。结果是,您现在可以开始在现有服务的同时创建新服务,并且它们将继续无缝地并行工作。
从类型化 C# 客户端调用服务标题下是:
假设您采用复制 DTO 的正常途径(以二进制形式的任一源),因此客户端上有类似以下内容:
[Route("/reqstars")]
public class AllReqstars : IReturn<List<Reqstar>> { }
Run Code Online (Sandbox Code Playgroud)
客户端上的代码现在变成:
var client = new JsonServiceClient(BaseUri);
List<Reqstar> response = client.Get(new AllReqstars());
Run Code Online (Sandbox Code Playgroud)
这会向 /reqstars 路由发出 GET Web 请求。当客户端上不存在自定义路由时,它会自动回退到使用 ServiceStack 的预定义路由。
最后,您还可以使用之前更明确的客户端 API(非常适合没有 IReturn<> 标记的情况):
var response = client.Get<List<Reqstar>>("/reqstars");
Run Code Online (Sandbox Code Playgroud)
所有这些 API 都有异步等效项,您可以在需要时使用它们。
整个 API 文档实际上是在解释 Post 的 Get 的工作原理。您client.Get()在客户端上有一个调用服务器上的 ,或者如果它不存在则Get()回退到使用。Any()
Wiki 页面的底部介绍了如何手动将服务从旧 API 移植到新 API。
以下是使用新 API 的一些示例:
| 归档时间: |
|
| 查看次数: |
1674 次 |
| 最近记录: |