1 Add Web Reference
根据wsdl文件,按照老的asp.net webservice客户访问机制,生成webservice代理类的方法,即从System.Web.Services.Protocols.SoapHttpClientProtocol派生而来,代理类代码可以指定要访问的Url属性。
2 Add Service Reference
根据wsdl文件,按照新的webservice客户访问机制WCF,生成webservice代理类(不是直接从System.Web.Services.Protocols.SoapHttpClientProtocol派生而来)。代理类代码没有Url属性可指定,而是在客户端的配置文件app.config中指定endpoint来访问指定的url。
一份wcf server发布的wsdl文件,既可以继续使用老的asp.net webservice技术来生成相应的客户端代理代码,也可以按照新的webservice技术WCF来生成客户端代理代码。无论是用哪种方式,虽然生成的代理类不一样,但是代理类都能调用Web service接口。
注:
当你Add Service Reference 或者是Add Web Reference来添加一个webservice的时候,都会同时生成一个app.config文件。而在这个app.config文件中,你可以配置client段要访问的url。
根据wsdl文件,按照老的asp.net webservice客户访问机制,生成webservice代理类的方法,即从System.Web.Services.Protocols.SoapHttpClientProtocol派生而来,代理类代码可以指定要访问的Url属性。
2 Add Service Reference
根据wsdl文件,按照新的webservice客户访问机制WCF,生成webservice代理类(不是直接从System.Web.Services.Protocols.SoapHttpClientProtocol派生而来)。代理类代码没有Url属性可指定,而是在客户端的配置文件app.config中指定endpoint来访问指定的url。
一份wcf server发布的wsdl文件,既可以继续使用老的asp.net webservice技术来生成相应的客户端代理代码,也可以按照新的webservice技术WCF来生成客户端代理代码。无论是用哪种方式,虽然生成的代理类不一样,但是代理类都能调用Web service接口。
注:
当你Add Service Reference 或者是Add Web Reference来添加一个webservice的时候,都会同时生成一个app.config文件。而在这个app.config文件中,你可以配置client段要访问的url。
本文对比了AddWebReference与AddServiceReference两种方法的区别,前者用于生成基于老的ASP.NET WebService技术的代理类,后者则适用于WCF技术。无论采用何种方式,最终生成的代理类都可以成功调用WebService接口。
383

被折叠的 条评论
为什么被折叠?



