无法使用basicHttpBinding将Web引用添加到WCF服务库

时间:2012-06-18 18:04:09

标签: wcf

我有两个VS2010实例在同一台机器上运行。一个VS实例有一个带有basicHttpBinding的WCF服务。 现在正如我在书中读到的那样,为了使用basicHttpBinding调用此WCF服务,我必须向其添加Web引用而不是服务引用。 我运行了包含WCF服务的项目,并从其他VS实例尝试添加Web引用,这是我gacve的URL(我从WCFClientHost获取)

http://localhost:8732/Design_Time_Addresses/WcfServiceLibraryBasicHttpBinding/Service1/mex

但每当我尝试添加WCF服务时,我都会收到Http 400错误。 请让我知道我做错了什么。

1 个答案:

答案 0 :(得分:1)

你应该分开两件事:

  • Add Service Reference添加基于.NET 3.0及 WCF运行时的服务接口。它支持所有 WCF绑定 - 包括basicHttpBinding

  • Add Web Reference是旧式.NET 1.x / 2.x方法,用于添加对ASMX Web服务的引用(" ASP.NET Web服务") 。这项技术已经过时,并且自.NET 3.0起已被WCF完全取代。 ASMX只支持与basicHttpBinding或多或少等价的内容。

    ASMX技术已经过时,如果你真的无法使WCF工作,你应该只使用它(但在我写作和使用过多的Web服务的3年中,我从未见过这样的案例) - 避免这种情况,除非你绝对不能让WCF工作 - 无论出于什么奇怪的原因......

您提供给CodeProject文章的链接有一个完全错误的陈述,您需要Add Web Reference使用basicHttpBinding - 这只是简单的 NOT TRUE 即可。