【问题标题】:Need some Instruction about WCF SOAP Service and ASP.NET MVC需要一些关于 WCF SOAP 服务和 ASP.NET MVC 的说明
【发布时间】:2011-12-15 09:27:51
【问题描述】:

这是我的作业,最难的!
我需要使用 ASP.NET MVC 构建一个在线测验,包括一个桌面版本 (WPF),它可以使用 XML Web 服务 - WCF 与 Web 版本共享数据。我的老师没有具体说明什么样的 XML Web Service,经过一些研究我选择了 SOAP,因为 SOAP 是 W3C 推荐的,这是我的计划:

A.当用户编写测验时,在 Web 站点 oe 桌面应用程序中,提交将数据发送到 WCF 服务。将不同类型的项目列表发送到服务器并将其保存到数据库。

B.当用户做测验时,所有的数据都会提交给WCF服务,总分也由WCF服务返回。

在对 MSDN 进行一些研究之后,我发现 WCF 可以处理 SOAP,但是我找不到任何文档来告诉我如何做到这一点。要么我对处理 A 和 B 动作的 SOAP 非常陌生。

我找到了一些关于将 WCF 与实体框架和 Code First 结合使用的文档: http://msdn.microsoft.com/en-us/data/gg601462 http://blogs.msdn.com/b/adonet/archive/2011/03/21/using-wcf-data-services-with-entity-framework-4-1-and-code-first.aspx

这些文档帮助我构建 Web 服务并从我的数据库中检索数据,我认为这不是 SOAP 风格的。
所以现在,我想我需要的是:

  • 一些关于什么样的 XML Web Service 的建议。
  • 如果您说 SOAP 适用于可能的应用程序,一些文档会向我展示如何使用 WCF 处理 SOAP。

非常感谢您的分享!

【问题讨论】:

    标签: asp.net-mvc wcf soap


    【解决方案1】:

    我不会完全为你做功课......但我会帮助你开始了解如何以简单的方式使用 WCF 服务。

    首先,WCF 可以使用 SOAP、JSON 或许多其他传输方法。默认情况下,如果您使用的是 asp.net 应用程序并且它调用 WCF 服务,则它使用 SOAP。 WCF 使用的 XML 比您可能手动构建的简单 SOAP 调用复杂得多。

    其次,要使用 asp.net 应用程序中的 WCF 服务,您可以让 Visual Studio 为您创建“代理”代码,为您处理所有细节的 xml 内容。

    为此,在 Visual Studio 的解决方案资源管理器中右键单击项目名称,然后单击“添加服务引用”。输入您的服务的 URL (http://localhost:9821/service.svc)。它将在那里自动发现 WCF 服务信息。注意“命名空间”。该命名空间是保存代理代码的地方。

    如果您的服务命名空间是“MyService”,那么在您的应用程序代码中,您将“导入/使用”该命名空间。 又名:Imports MyService

    然后你的代码会使用它:

    Dim serviceclient as new MyService.ServiceClient
    serviceClient.myWCFFunction();
    

    【讨论】:

    • 感谢您的帮助!我已经知道如何将 WCF 服务添加到 MVC 应用程序(就像我在问题中所说的那样)。但是你确定 WCF 默认调用一个 SOAP 吗?为什么我读到 SOAP 只允许接收 POST 数据?
    • 您在使用 WCF 数据服务吗?还是您直接使用 WCF?
    • 我不确定...我只是关注这个视频:msdn.microsoft.com/en-us/data/gg601462,标题是“构建 OData 服务”所以我认为这是 WCF 数据服务,在这个视频中他可以输入他在地址栏中想要什么,然后输入......哇......他需要的一切都出现了!
    • 现在说得通了。 OData(WCF 数据服务)不使用 SOAP,它使用一种称为 Atom 的 XML 格式。 msdn.microsoft.com/en-us/library/cc907912.aspx - 转到第二部分讨论示例。那么您的要求是如何使用 WCF 返回数据,但使用 SOAP?
    • WCF 默认使用安全通道上的 SOAP。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多