0

这是我有一个需要的 Web 应用程序的情况:

  • 通过 Web API 层访问它的核心数据库(所以我不能直接访问它的存储库/uow)

  • 访问其他外部第三方 API 以获取更多数据/操作

建议包装和连接到这些单独的 API 的最佳实践/模式是什么?

4

2 回答 2

0

哈好吧,我现在明白了 :) 这实际上取决于您使用的数据量和请求量。例如,如果数据非常小,您可以在客户端拥有一个包含数据的本地缓存,如果它们不经常更改,您可以将它们复制到您的一个数据库中,并且只需订阅远程 Web 服务上的更新。

所以是的,如果您确实有很多请求,但在您必须管理缓存和更新的一致性之后,这可能是有意义的。

对我来说,我会将它包含在 DAL 中并统一外观背后的所有内容,以便您的客户以相同的方式使用内部和外部数据。

对于缓存,这取决于,客户端缓存,服务器缓存,“SQL ws-* 复制”,...

但它再次取决于数据的种类/数量和可接受的负载/请求。

也许更多细节?(对我来说没有正确答案,已经取决于上下文、目标、时间、预算等......)

于 2013-08-10T23:39:18.097 回答
0

免责声明:我是 Entity REST SDK 的作者。

使用 Web API 访问数据库将导致安全噩梦,因为您必须为每个操作编写安全规则。那是相当乏味的。

因此,我们创建了 Entity REST SDK,它可以让您快速设置 REST API 以及安全规则作为简单的 lambda 表达式,它可以完成大部分与安全相关的逻辑。

安全上下文也适用于字段级别,因此如果管理员请求一个对象,他将收到所有字段,但如果用户从同一个 url 请求相同的对象,他将只会收到某些字段。这同样适用于修改和外键。

https://entityrestsdk.codeplex.com/

我们还有 JSON 到 LINQ 转换器,它可以让您在查询字符串中使用 JSON 语法自定义查询,如解释的那样。

于 2013-08-11T06:37:56.690 回答