Web引用与服务引用

Pos*_*Guy 108 c# paypal .net-3.5

我刚用Paypal打了一堵巨大的砖墙.我创建了一个常规的C#项目来使用他们的WSDL创建一些包装类.

如果创建非Web项目,则添加wsdl的唯一选项是Web服务引用.这构建了与Web Reference相同的一组代理类,但实际上并不是真的..即使是PayPal的人也不知道,它会增加更多.

所以我整个时间都在这个代理类列表中寻找正确的接口来用作服务(SoapBinding),并且PayPalAPIAASoapBinding我不在那里告诉我们PayPal接触点.

我只能看到以下2个接口,在我看来我需要使用的东西,因为我没有看到PayPalAPIAASoapBinding你在基于Web Reference的服务参考中看到的:

PayPalAPIAAInterfaceClient
PayPalAPIInterfaceClient 
Run Code Online (Sandbox Code Playgroud)

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

那么服务参考与Web参考究竟是什么呢?如果Service Reference要给我一个循环并给我一组不同于Web Reference的接口,我该怎么把它分成另一个项目呢?

此外,为了使事情更令人困惑,VS 2008有一个Web服务应用程序项目.

那我该怎么用? 我们正在使用.NET 3.5框架,我们还没有准备好转移到WCF.即使不使用WCF还是什么,我仍然可以使用新的服务参考吗?如果您使用的是.NET 3.5而不是WCF,并且您仍然想要进行基本的Web服务,那么您是否仍然使用服务参考路由而不使用WCF框架?它的含义是否可以像.NET 2.0 Web Reference一样使用,只是你将获得一个完全不同的WSDL生成?

mar*_*c_s 208

添加Web引用是旧式的,已弃用的ASP.NET Web服务(ASMX)技术(仅使用XmlSerializer) - 如果这样做,您将获得ASMX Web服务的ASMX客户端.您可以在几乎任何项目(Web应用程序,网站,控制台应用程序,Winforms - 您的名字)中执行此操作.

添加服务引用是一种新的方式,添加了一个WCF服务引用,它提供了比普通的旧ASMX更高级,更灵活的服务模型.

由于您尚未准备好转移到WCF,您仍然可以添加旧式Web引用,如果您真的必须:当您执行"添加服务引用"时,在出现的对话框中,单击[高级]按钮左下角的按钮:

替代文字

在出现的下一个对话框中,选择底部的[添加Web引用]按钮.

  • 如果您使用Alt + PrtScn,您可以快速拍摄当前活动窗口,这样您就不必手动裁剪出您想要显示的内容:o) (26认同)
  • @coffeeaddict:好吧,我认为MS正试图巧妙地让你在默认情况下使用WCF - 如果你真的认定的话只有老式的ASMX :-) (9认同)
  • MS在WCF对话框中隐藏它是多么愚蠢!这里的位置甚至没有任何意义 (6认同)
  • @ErnestSoeralaya - 我试图给你一个投票,但该网站不断回来"投票时发生错误".:-(但是,多亏了这个,已经有15年了! (2认同)

Moo*_*ose 9

如果我理解你的问题:

要添加.net 2.0 Web服务参考而不是WCF服务参考,请右键单击项目,然后单击"添加服务参考".

然后单击对话框左下角的"高级..".

然后单击下一个对话框左下角的"添加Web引用..".

现在,您可以添加常规的SOAP Web引用,就像您正在寻找的那样.