【问题标题】:ASP.NET web api SPA project layoutASP.NET web api SPA 项目布局
【发布时间】:2013-07-10 10:56:33
【问题描述】:

我正在构建一个概念验证的业务线单页应用程序。我想在 REST 服务层使用 ASP.NET web api,在客户端使用 Backbone.js 和 Require.js。我想使用 js 文件和模板 (Require.js) 的模块化结构,这样应用程序的源代码就不会出现在一个 html 页面中。

我还没有找到如何在 Visual Studio 中布置项目的示例,以及我应该选择哪种项目类型。 Web Api 应该在一个项目中,而 Web 应用程序在另一个项目中,还是应该混合使用。任何建议或最佳实践将不胜感激。

谢谢!

【问题讨论】:

    标签: backbone.js visual-studio-2012 asp.net-web-api requirejs


    【解决方案1】:

    我之前为了相同的目标所做的是将 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 端点以获取和发布数据。

    【讨论】:

    • 您可以将 WebAPI 控制器放在不同的库项目中,并且仍然使用 Web 应用程序托管 API。
    猜你喜欢
    • 2017-01-28
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2014-10-08
    • 2015-04-10
    • 1970-01-01
    相关资源
    最近更新 更多