有人可以在使用Web服务时定义HttpWebRequest和添加服务引用之间的区别。还有什么是最好的方法。
答案 0 :(得分:3)
添加服务引用为您提供了调用Web服务方法所需的管道代码的好处,就像您只是调用方法一样。它抽象处理请求/响应。
答案 1 :(得分:2)
我认为在性能消耗方面,通过HttpWebRequest,与Add服务引用方法相比,Web服务会更快,因为在后一种情况下,该过程涉及运行时的对象构建。此外,它还带有许多其他开销(例如Web服务的其他webmethods部分),您可能不会在特定的上下文中使用它。
更新: 看起来我的猜错了。 在这个http://www.4guysfromrolla.com/articles/022410-1.aspx中,有一些关于SOAPcall与服务引用方法的统计信息。测试显示服务参考方法要快得多。
答案 2 :(得分:1)
添加引用只能通过Web服务URL(.net amsx服务,wcf服务和其他基于SOAP的服务,如java,php或ruby等)来完成。添加引用会生成存根,其中包含调用Web服务所需的所有类。它包括作为参数传递或从Web方法返回的所有对象类型。
另一方面,HttpWebRequest不仅可用于调用webservices,还可用于简单的aspx页面,HTML页面或任何基于HTTP或HTTPS的URL。就像在浏览器中点击URL一样。