Msxml2.ServerXMLHTTP和WinHttp.WinHttpRequest之间的区别是什

2019-06-26 11:45发布

只是当我终于明白MSXML2.XMLHTTP和Msxml2.ServerXMLHTTP之间的区别

http://support.microsoft.com/kb/290761

XMLHTTP是专为客户端应用程序,并且依赖于URLMON,这是在微软Win32网络(WinInet的)建成。 ServerXMLHTTP的是专为服务器应用程序和依赖于新的HTTP客户端堆栈WinHTTP的上。 ServerXMLHTTP的提供了可靠性和安全性是服务器安全的。 欲了解更多信息,请参见MSXML软件开发工具包(SDK)文档。

突然我发现WinHttp.WinHttpRequest ...

http://msdn.microsoft.com/en-us/library/aa382925(VS.85).aspx

微软的Windows HTTP服务(WinHTTP)为开发人员提供支持的服务器,高层次的接口到HTTP / 1.1互联网协议。 WinHTTP的被设计为通过与HTTP服务器进行通信的服务器应用程序中的基于服务器的方案主要使用。

因此,如何从Msxml2.ServerXMLHTTP此不同

(当然,隐含的问题是哪一个,我应该使用...)

Answer 1:

MSXML2.XMLHTTP和Msxml2.ServerXMLHTTP两个组件共享类似的接口通过HTTP protocal读取XML文件。 前者是在URLMON,依靠内置的WinINet。 后来是在WinHTTP的,这是一个的WinINet服务器友好更换建成。 把它简单 - ServerXMLHTTP的XML = + WinHTTP的。



Answer 2:

同样最近的应用程序已经发现了我,问类似的问题,但在执行一些基本的研究,我已经简化为后:

WinHTTP的::高层接口给HTTP / 1.1互联网协议

ServerXMLHTTP的:: ServerXMLHTTP的推荐用于服务器应用程序和XMLHTTP推荐用于客户端应用程序

取决于你在做什么和多少控制您需要。

的ServerXMLHTTP明确拒绝元素往往会导致一些开发商烦恼,因为它需要更多一点的“工作”有效实施。 在帮助手与明确允许的WinHTTP和XMLHTTP对象不存在与ServerXMLHTTP的。

如果您的解决方案需要扩大规模企业的要素,超出比例则可能选择适当。



Answer 3:

我们使用无论是在传统的ASP Web应用程序这些组件。 有所谓的次LOT每分钟,从服务器到服务器ASP服务器端页面调用另一个ASP或ASPX服务器端页)。

Server.CreateObject("WinHttp.WinHttpRequest.5.1")
Server.CreateObject("MSXML2.ServerXMLHTTP.6.0")

我们的经验是,WinHttpRequest是稳定的,另一种是不。 我们必须消除我们所有CreateObject来的ServerXMLHTTP和winhttprequest,替换他们,因为过了一段时间,它正在采取大量的内存,是冷冻或IIS应用程序池未响应或变得非常慢。

我不知道每个组件的详细规格,但我可以向你保证,从我们的经验,“MSXML2.ServerXMLHTTP.6.0”是使用一个。



文章来源: differences between Msxml2.ServerXMLHTTP and WinHttp.WinHttpRequest?