14

justo cuando finalmente entendí la diferencia entre Msxml2.XMLHTTP y MSXML2.ServerXMLHTTPdiferencias entre Msxml2.ServerXMLHTTP y WinHttp.WinHttpRequest?

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

Xmlhttp está diseñado para aplicaciones cliente y se basa en URLMON, que se basa en Microsoft Internet Win32 (WinInet). ServerXMLHTTP está diseñado para aplicaciones de servidor y se basa en una nueva pila de cliente HTTP, WinHTTP. ServerXMLHTTP ofrece confiabilidad y seguridad y es seguro para el servidor. Para obtener más información, consulte la documentación del Kit de desarrollo de software MSXML (SDK).

de repente me encuentro WinHttp.WinHttpRequest ...

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

de Microsoft Windows HTTP Services (WinHTTP) proporciona a los desarrolladores una interfaz con el apoyo de servidor de alto nivel para la especificación HTTP/1.1 Protocolo de Internet. WinHTTP está diseñado para ser utilizado principalmente en escenarios basados ​​en servidor por aplicaciones de servidor que se comunican con servidores HTTP.

es así, ¿cómo es esto diferente de MSXML2.ServerXMLHTTP

(así, la pregunta implícita es cuál debería usar ...)

+0

Ya está allí entre comillas, si está utilizando ** server-side ** luego use 'WinHttpRequest' si ** client-side ** use' Msxml2.ServerXMLHTTP'. – Lankymart

+1

_si el lado del cliente usa Msxml2.ServerXMLHTTP_? En la cita: _ServerXMLHTTP está diseñado para aplicaciones de servidor ..._ – cychoi

Respuesta

3

WinHttpRequest es viejo y no parece como trabajar con .Net más. Al menos el mío se rompió después de la última actualización y parece que no puedo volver a ponerlo en marcha.

+0

¡Qué carga de basura es esta respuesta! El 'WinHttpRequest' es el más estable de los dos y está diseñado específicamente para entornos de servidor. Lo que .Net tiene que hacer con él no lo sé, ya que tiene sus propias clases para este propósito. – Lankymart

11

Msxml2.XMLHTTP y MSXML2.ServerXMLHTTP son dos componentes comparten la interfaz similar para ir a buscar los archivos XML sobre HTTP Protocal. El primero se basa en URLMon, que se basa en WinINet. El último se basa en WinHTTP, que es un reemplazo fácil de usar para WinINet. Para decirlo de forma simple: ServerXMLHTTP = XML + WinHTTP.

-6

Estábamos usando estos dos componentes en aplicaciones web ASP clásico. Se llamaron MUCHAS veces cada minuto, desde el servidor a la página del lado del servidor asp que llamaba a otra página asp o aspx del lado del servidor.

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

Nuestra experiencia es que WinHttpRequest es estable, el otro no lo es. tuvimos que quitar todo nuestro createobject a ServerXMLHttp y reemplazarlos por WinHttpRequest, porque después de un tiempo, que estaba tomando gran cantidad de memoria, era la congelación, o el grupo de aplicaciones IIS no responde o se hizo muy lenta.

No conozco las especificaciones detalladas de cada componente, pero puedo asegurarle que, según nuestra experiencia, "MSXML2.ServerXMLHTTP.6.0" es el que hay que utilizar.

+12

Para mí, su respuesta es confusa. En el segundo párrafo, dices "WinHttpRequest es estable, el otro no". En el tercer párrafo, dices "desde nuestra experiencia, 'MSXML2.ServerXMLHTTP.6.0' es el que se debe usar". Esos dos párrafos se contradicen entre sí. – slolife

1

Del mismo modo una aplicación reciente ha encontrado preguntándome cosas similares, sin embargo, después de realizar una investigación rudimentaria He simplificado de la siguiente manera:

WinHTTP :: interfaz de alto nivel para el protocolo HTTP/1.1 Internet

ServerXMLHTTP :: ServerXMLHTTP se recomienda para aplicaciones de servidor y Xmlhttp se recomienda para aplicaciones de cliente

depende de lo que está haciendo y cuánto control que requiere.

Elementos denegados explícitamente de ServerXMLHTTP a menudo causan molestias a algunos desarrolladores ya que requiere un poco más de 'trabajo' para implementar de manera efectiva. La ayuda con los objetos explícitamente permitidos WinHTTP y XMLHTTP no está allí con ServerXMLHTTP.

Si su solución requiere elementos de escalamiento ascendente, escalabilidad, entonces quizás elija apropiadamente.