我之前为了相同的目标所做的是将 WebApi 和 Web 应用程序放在同一个项目中。从您将在 Visual Studio 中创建项目时进行所有设置的角度来看,它使事情变得更容易。
将 webapi 放在不同的项目中存在一个小问题:由于您必须将其放在单独的主机上,或者最终放在同一主机上但绑定在不同的端口或虚拟目录上,因此可能需要一些时间来设置 IIS。 . 最终在过去我们使用 Url 重写模块将调用从 Web App 重定向到 Web Api 应用程序。可能有更简单的设置,但同样需要一些时间,这取决于您对设置 IIS 的信心...
对于初学者/概念证明,可能将所有内容放在同一个应用程序上会使事情变得更顺利。您可能希望将域模型和数据库访问权保留在单独的项目中,因此如果最终将 WebApi 从 Web 应用程序中分离出来,您仍然可以毫无问题地引用这两个。
最后,Web 应用程序将只有一个控制器和一个动作(Home/Index
也许),这将是一个将你所有的 html/css/js 传递给客户端的联系点。作为一个 SPA,从现在开始,一切都将由客户端上的 Backbone 管理(导航也是),偶尔调用您的 JSON Web Api 端点来获取和发布数据。