我应该将Web API与我的网站集成还是将WebAPI分开?

时间:2012-10-07 14:25:36

标签: asp.net-web-api

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

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

对于横向扩展和API流量较大,您可以横向扩展Web前端,至少应考虑以下两点:

  1. 让控制器(在这种情况下为API控制器)通过在控制器外部实现代码来实现最佳实践
  2. 使API控制器执行asynchronously,这有助于您的网站和API继续响应,即使您的数据库有长时间运行请求。