HttpWebRequest与添加服务引用

本文关键字:引用 服务 添加 HttpWebRequest | 更新日期: 2023-09-27 18:23:37

有人能在使用web服务时定义HttpWebRequest和添加服务引用之间的区别吗?还有什么是最好的方法。

HttpWebRequest与添加服务引用

添加服务引用可以让您获得调用web服务方法所需的管道代码的好处,就好像您只是调用方法一样。它对处理请求/响应进行了抽象。

我认为通过HttpWebRequest消耗Web服务的性能与添加服务引用方法相比会更快,因为在后面的情况下,该过程涉及运行时的对象构建&此外,它还带来了许多其他开销(例如web服务的其他web方法部分),而您可能不会在特定的上下文中使用它。

更新:看来我的猜测错了。在这个https://web.archive.org/web/20210619192654/https://www.4guysfromrolla.com/articles/022410-1.aspx有一些关于SOAPcall与服务引用方法的统计信息。测试表明,服务引用方法要快得多。

添加引用只能使用web服务URL(.net amsx服务、wcf服务和其他基于SOAP的服务,如java、php或ruby等)来完成。添加引用会生成存根,其中包含调用web服务所需的所有类。它包括作为参数传递或从web方法返回的所有对象类型。

另一方面,HttpWebRequest不仅可以用于调用Web服务,还可以用于调用简单的aspx页面、HTML页面或任何基于HTTP或HTTPS的URL。这就像在浏览器中点击URL一样。