Host 是 SDK 中的主要交互点。通过 Host,您将设置环境以使用 SDK,并通过 Host 与 SDK 进行交互。
什么是 Host?
Host 是扩展 RestHost 抽象类的任何类:
Limyee.Extensibility.Rest.Version1.RestHost
注意:RestHost 的接口被视为 API,而它的实现不是。
在 SDK 中,我们提供了 2 种类型的 Host,分别是:
- 默认 REST Host
- 客户端凭据 REST Host
如果需要,您还可以创建自己定制的 REST Host。
实现 Host 后,可以根据 Host 的编写方式以不同的方式配置或实例化 Host。例如,默认 REST Host 自身通过加载方法和配置文件进行实例化,而客户端凭据 REST Host则像任何普通类一样实例化。
Host 的工作原理
如前所述,Host 实现可以执行许多操作,但任何 Host 在 SDK 中都具有非常特定的角色。任何 Host 实现都需要这些基础知识。
Host 有责任了解您的平台。由于这是一个REST SDK,因此了解平台的 URL 非常重要。
Host 负责身份验证。通过 SDK 向 REST 发出的任何请求都通过 Host 中继,因此 Host 负责将身份验证信息附加到每个请求。目前,SDK 中的所有 Host 都使用 OAuth,这意味着当发出 REST 请求时,Host 负责将令牌添加到请求中。
Host 管理缓存。默认情况下,Host 会暴露简单的内存缓存并对其进行访问。但是,它不管理缓存中的项目,只管理缓存是否存在。缓存又可以由实现根据需要使用。
Host 提供 REST 接口。 通过 Host,您可以发出所有 GET/PUT/POST和DELETE 请求。对于这此请求,都有 dynamic、stream、字符串和 XElement 的响应。每个请求,都有一个同步和异步方法,如果你想在进程内或进程外执行此操作。基本请求中详细介绍了这一点。此外,Host 会根据特定的需求,管理超时规则和添加额外的头数据。
- 基本请求
- 客户端凭据 REST Host
- 默认 REST Host