【问题标题】:Using AngularJS with ASP.NET MVC and WCF REST Services将 AngularJS 与 ASP.NET MVC 和 WCF REST 服务一起使用
【发布时间】:2013-11-06 21:24:53
【问题描述】:

对于一个新的 SPA Web 应用程序,它最初只有很少的用户交互,并且逐渐具有需要大量用户交互的新功能。这个应用程序是针对移动设备的。我正在使用这种奇怪的技术组合。

  1. AngularJS + jQuery Mobile - 用于客户端 - MVC 框架 + SPA 框架。
  2. ASP.NET MVC - 服务器端 MVC 框架 - 这似乎没有必要。
  3. WCF REST 服务(来自第 3 方)- 此处没有任何控制,只是使用它。这些服务返回 JSON 数据。所有的业务逻辑都在这里。应用程序没有除此之外的任何功能。

一旦应用程序在客户端加载,所有服务调用都将从 AngularJS 发生到 REST 服务。

ASP.NET MVC 的主要作用,只是初始请求加载而已。甚至用户会话也在 AngularJS 和 REST 服务之间进行处理。

但我预见到最终应用程序会很复杂,无法在客户端处理所有内容。因此,希望推动一些使用 ASP.NET MVC 和 .NET Sandbox 轻松高效地完成的复杂处理。我不能要求 REST 服务这样做,因为我提到它是第 3 方。

在两难中, 1. 我也应该在服务器端维护用户会话吗? 2. 我怎样才能最好地利用 ASP.NET MVC?

感谢您的任何建议。

【问题讨论】:

  • 我建议在您的 MVC 应用程序中创建一个代理层(这对您来说似乎没有必要)并通过它路由您的重置服务调用。因此您将能够维护服务调用,此外它还可以防止 API 服务器被暴露
  • 感谢 Satpal 的建议。从安全角度来看,这确实是一个不错的选择。但这将为每次调用 REST 服务引入一次额外的 Internet 访问,并且比从浏览器直接调用服务要慢。

标签: asp.net-mvc wcf angularjs


【解决方案1】:

您的困境是合理且有效的。当我使用 angularJs 时,我最大的问题是,我需要 csthml 文件还是应该使用 html 文件。

我总是使用 cshtml,希望将来我可能不得不利用 mvc 的服务器端功能。

目前,我正在研究上述相同的技术组合,并且采用模块化的 js 代码(角度控制器)排列方式,我没有发现任何问题。我有点好奇你会给控制器增加什么复杂性,因为你已经说过你所有的业务逻辑都是由第三部分控制器完成的。

如果您正在寻找安全方面,我建议您编写一个自定义操作过滤器,它使用 httpmodule 进行自定义安全处理。

使用 MVC,会话应该是一个BIG NO。至少在我的组织中是这样的。

【讨论】:

  • 感谢马特的回复。第三方 REST 服务需要大量输入和一些数据处理,这将在未来从客户端/Web 服务器端发生。我还有一个问题,我们如何一起使用 chtml 和 AngularJS?另外,您能否帮助了解在 MVC(服务器端)和客户端中维护会话可能是什么问题。
  • 我们如何一起使用 chtml 和 AngularJS - 与您在 angularjs 教程中阅读/看到的任何其他 html 文件的处理方式相同。您打算如何在客户端维护会话。还请告诉我您打算保留哪些细节。使用 angularjs,我觉得您根本不需要将数据保留在会话中。我能想到的只有用户认证的细节,其他的可以在客户端或缓存级别维护
猜你喜欢
  • 2011-03-26
  • 1970-01-01
  • 2011-03-14
  • 2011-03-06
  • 2014-06-06
  • 2011-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多