【问题标题】:talking between Web services and MVC FrameworkWeb服务和MVC框架之间的对话
【发布时间】:2012-03-15 10:06:35
【问题描述】:

我是 MVC 和 Web 服务的新手。
根据我的项目,我必须在 ViewLayer 显示列表数据。
我必须显示的列表数据将通过其网络服务服务器来自其他地区。
这意味着我必须与这些与我的 Web 应用程序服务器分开的 Web 服务器进行通信。
此外,我的网络应用程序必须更新一些数据并将这些更新的数据再次发送到那里的网络服务服务器。
这是我的项目要求。

所以我已经搜索了所有可能的解决方案。
然后我在 stackoverflow.com 找到了one
据此,我发现我需要使用$.ajax { url: ... }样式,我认为我需要完全依赖视图层。

然后我找到了another 解决方案,我认为我需要完全依赖控制器层。我的意思是我必须编写所有需要仅在控制器层与 Web 服务通信的代码。

由于我是 MVC 的初级,我无法决定哪一个适合我。 我们将非常感谢您的每一个建议,并欢迎您提供任何合适的解决方案。

【问题讨论】:

  • 更具体地说明您的问题,您会得到更好的答案。您的两种方法都可以,但是如果您没有任何 jquery ajax 经验,那么如果您使用带有 SOAP 协议的 Web 服务,这是一个相当复杂的解决方案。
  • @Glenn,是的,我认为这两种方式都可以。但由于我是初级,我想获得一些链接或任何参考资料以更详细地了解。
  • 例如在 View 层中使用 $.ajax 和 Web 服务的示例或类似的东西。

标签: c# ajax asp.net-mvc web-services


【解决方案1】:

与所有事物的发展一样 - 这取决于!

如果您拥有服务,它们会挂在同一个域中,并且您主要专注于将 Web 服务调用的结果呈现为 HTML,客户端 AJAX 调用运行良好.

如果他们在a different domain(甚至是子域)上,或者您想做的不仅仅是“调用”服务(例如,清理响应、添加一些跟踪、转换它以某种方式)然后通过控制器处理Web服务调用可能是要走的路。您还可以使用此选项轻松添加服务器端缓存和日志记录。

【讨论】:

  • 顺便说一句 - 我绝对不建议使用该链接中描述的服务器端控制器方法。如果您使用的是 SOAP,只需使用 Visual Studio 从服务端点添加服务引用。您可以将该客户端依赖注入到您的控制器中。使用字符串名称/ XML 序列化结果的方法反射将很难使用。
【解决方案2】:

您可以在 MVC3 中使用 Unobtrusive Ajax Helpers http://bradwilson.typepad.com/blog/2010/10/mvc3-unobtrusive-ajax.html

【讨论】:

    猜你喜欢
    • 2011-01-27
    • 2010-10-19
    • 2011-12-25
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多