天天看點

The Difference Between “Add Web Reference” and “Add Service Reference”

I was playing around with building a simple WCF ASP.NET client in

Visual Studio 2008 and wanted to make a reference to my WCF service

(that used basicHttpBinding). I have built plenty of ASMX web services

in the past so simply selected “Add Web Reference” as I’d done before,

pointed to my .svc file hosted in IIS, and away I went – everything

worked as expected.

Then I spied the “Add Service Reference” menu option and thought – hey that’s weird I wonder what that does?

Well it’s pretty simple really.

Add Web Reference is a wrapper over wsdl.exe

and can be used to create proxies for .NET 1.1 or 2.0 clients. Of

course this means when you are pointing to a WCF service you have to be

pointing to an endpoint that uses basicHttpBinding (as I was).

Add Service Reference is a wrapper over svcutil.exe and also creates clients proxies (and additionally web.config entries). These proxies, however, can only be consumed by .NET 3.0+ clients.

It seems to me that a better approach would have been to have a

single menu option that allowed you to select the proposed target

framework.

繼續閱讀