1

我实际上在我的网站上使用 ASP.NET MVC 4。该网站将与我的游戏数据库(登录名和用户配置文件)共享相同的数据库。我将仅将 WebAPI 用于游戏逻辑和请求,因此那里肯定会有高流量。我只提供两种方法,一种用于身份验证,一种用于请求。(这里有一种巨大的架构,我不会在这里解释)。由于 ASP.NET MVC 4 可以很容易地集成 web.api,尽管我自己几乎什么都不添加。为什么不直接将 api 添加到我的网站项目中以避免代码重复。您认为这是一个不错的选择吗?为什么?

谢谢!

4

1 回答 1

1

您的问题似乎更多是关于我应该如何扩展,而不是关于我应该在与我的网站相同的项目中使用 Web API。不知道细节很难推荐你应该如何扩展,所以我会坚持回答你关于在同一个网站中是否包含 Web API 的原始查询。

假设您打算将游戏和游戏逻辑(Web Api)加入您的网站,例如 www.mysuperniftygame.com(或任何您的 URL),那么是的,您可能希望 Web API 成为网络的一部分网站。为什么?这样一来,您的 API 请求将不需要子域,例如 gameapi.mysuperniftygame.com。

为什么这很重要?好吧,如果您的网站和 Web 应用程序正在发出 API 请求,您可能不必处理跨域问题,您必须合并JSONPCORS 之类的东西才能向您自己的 Web API 发出请求.

至于横向扩展和 API 是大量流量,您可以横向横向扩展 Web 前端,并且您应该至少考虑以下两件事:

  1. 通过在控制器外部实现代码来使控制器(在这种情况下为 API 控制器)精简,这是最佳实践
  2. 使 API 控制器异步执行,这将有助于您的网站和 API 继续响应,即使对您的数据库有长时间运行的请求。
于 2012-10-30T13:47:32.553 回答