c# - Web 引用与服务引用

标签 c# .net-3.5 paypal

我刚刚用 Paypal 碰了壁。我已经创建了一个常规 C# 项目来使用他们的 WSDL 创建一些包装器类。

如果您创建一个非 Web 项目,您可以添加 wsdl 的唯一选项是 Web 服务引用。这构建了与 Web Reference 类似的一组代理类,但实际上并非如此……它增加了甚至连 PayPal 人员都不知道的更多内容。

因此,我一直在寻找代理类列表中的正确接口(interface)以用作服务 (SoapBinding),而 PayPalAPIAASoapBinding 不在那里,我一直告诉我们的 PayPal 联系点。

我只能看到以下 2 个在我看来需要使用的接口(interface),因为我没有看到 PayPalAPIAASoapBinding,您可以在基于 Web 引用的服务引用中看到它:

PayPalAPIAAInterfaceClient
PayPalAPIInterfaceClient 

所以我想通了哦,我可能已经创建了一个服务引用与一个 Web 引用,其中 Web 引用是 Web 项目中的一个选项。但我不希望我的服务引用与我的 Web 项目紧密耦合。这就是我创建 C# 项目的原因。

那么,服务引用与 Web 引用到底是什么?如果服务引用给我一个循环并给我一组与 Web 引用不同的接口(interface),我应该如何将它分离到另一个项目中?

此外,更令人困惑的是,VS 2008 有一个 Web 服务应用程序项目。

那我用什么? 我们正在使用 .NET 3.5 框架,我们还没有准备好迁移到 WCF。那么即使不使用 WCF 或其他什么,我仍然可以使用新的服务引用吗?如果您使用的是 .NET 3.5 而不是 WCF,并且您仍然想做基本的 Web 服务,您是否仍然走服务引用路线而不使用 WCF 框架?这意味着它仍然可以像 .NET 2.0 Web 引用一样使用,只是您将获得完全不同的 WSDL 版本吗?

最佳答案

Add Web Reference 是旧式的、已弃用的 ASP.NET web 服务 (ASMX) 技术(仅使用 XmlSerializer 来处理您的内容)——如果您这样做,您将获得一个 ASMX 客户端ASMX 网络服务。您几乎可以在任何项目中执行此操作(Web 应用程序、网站、控制台应用程序、Winforms - 应有尽有)。

添加服务引用 是一种新的实现方式,添加 WCF 服务引用,与普通的旧 ASMX 内容相比,它为您提供了更高级、更灵活的服务模型。

由于您还没有准备好迁移到 WCF,如果确实需要,您仍然可以添加旧式 Web 引用:当您执行“添加服务引用”时,在出现的对话框中,单击按钮左下角的[高级]按钮:

alt text

在出现的下一个对话框中,选择底部的 [Add Web Reference] 按钮。

关于c# - Web 引用与服务引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2158106/

相关文章:

c# - 是否可以将 `ref bool` 转换为 CancellationToken?

.Net 3.5 数据库访问

c# - WCF 3.5 和 UDP

mongodb - 使用 Paypal REST api 获取计费协议(protocol)列表

交易失败的Paypal交易对象

c# - 使用 VID 和 PID 识别连接到 x64 的 USB 设备的 COM 端口

c# - 如何从响应中删除 "method"节点?

php - Paypal:实例化交易后更改金额

c# - var 关键字和使用 namespace

c# - 如何在 .NET 3.5 中再次使 StringBuilder 为空?