gpt4 book ai didi

asp.net - 对包括网站在内的所有内容都使用 Web API?

转载 作者:行者123 更新时间:2023-12-02 01:57:09 24 4
gpt4 key购买 nike

我正在构建一个网站,并使用 WebAPI 为其创建了一个 API。 API 通过使用 DotNetOpenAuth 的 OAuth v1 得到保护,并且在调用 API 的 iPhone 应用程序中一切正常。我想回过头来让网络的相关部分也使用 API,以便所有内容始终通过 API。

虽然我有点困惑的部分是,如果我让我的网站登录通过 API,将网站设置为 OAuth 消费者,为当前用户获取 OAuth token ,然后我应该在网站代码中在同一个盒子上对 WebAPI 进行 http 调用以调用传递我的 OAuth token 的 API? (在 HTTP 身份验证 header 中)

让网站调用 API 似乎是一种非常低效的方法,因为所有调用都需要服务器端也进行 HTTP 调用,这对我来说不是特别可扩展吗?尽管我想使用 OAuth 来保护 API,但我不确定替代方案。

最佳答案

这是一个很好的问题,并且不断出现(因为您清楚地意识到具有另一个网络绑定(bind)跃点的开销):

我需要在我的 ASP.NET MVC 中使用我自己的 API 还是绕过 API 直接进入业务逻辑?

我试图在 blog post 中对此进行解释(接近帖子的结尾)。然而,简而言之:视情况而定。如果您的 API 和 MVC 站点是同一应用程序的一部分,那么它们将彼此相邻,因为它们都是表示层 - 正如我在博文中所解释的那样。但是,如果您的 API 是 SOA 服务的表示层并且由包括您的 MVC 站点在内的多个客户端使用,那么是的,它必须是独立的。

在您的情况下,我倾向于将 MVC 并排放置您的 Web API - 访问相同的业务层。我相信这也解决了您遇到的 OAuth 问题。

关于asp.net - 对包括网站在内的所有内容都使用 Web API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19375638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com