14

proprio quando ho finalmente capito la differenza tra Msxml2.XMLHTTP e MSXML2.ServerXMLHTTPdifferenze tra Msxml2.ServerXMLHTTP e WinHttp.WinHttpRequest?

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

XMLHTTP è progettato per le applicazioni client e si basa su URLMON, che è costruito su Microsoft Win32 Internet (WinInet). ServerXMLHTTP è progettato per applicazioni server e si basa su un nuovo stack client HTTP, WinHTTP. ServerXMLHTTP offre affidabilità e sicurezza ed è sicuro per i server. Per ulteriori informazioni, consultare la documentazione MSXML Software Development Kit (SDK).

improvvisamente mi trovo WinHttp.WinHttpRequest ...

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

servizi HTTP di Microsoft Windows (WinHTTP) fornisce agli sviluppatori con un server supportata, un'interfaccia di alto livello per l'HTTP/1.1 Protocollo Internet WinHTTP è progettato per essere utilizzato principalmente in scenari basati su server da applicazioni server che comunicano con server HTTP.

così, come è questo diverso da MSXML2.ServerXMLHTTP

(o meglio, la domanda implicita è che uno deve usare ...)

+0

È già presente tra virgolette, se si utilizza ** lato server **, quindi utilizzare 'WinHttpRequest' se ** lato client ** utilizza' Msxml2.ServerXMLHTTP'. – Lankymart

+1

_if lato client utilizza Msxml2.ServerXMLHTTP_? Nell'offerta: _ServerXMLHTTP è progettato per le applicazioni server ..._ – cychoi

risposta

3

WinHttpRequest è vecchio e non sembra come lavorare con .Net più. Almeno il mio ha rotto dopo l'ultimo aggiornamento e non riesco a farlo andare di nuovo.

+0

Che carico di spazzatura questa risposta è semmai il 'WinHttpRequest' è il più stabile dei due e progettato specificamente per ambienti server. Che cosa .Net ha a che fare con esso non so in quanto ha le sue classi per questo scopo. – Lankymart

11

Msxml2.XMLHTTP e Msxml2.ServerXMLHTTP sono due componenti che condividono l'interfaccia simile per il recupero di file XML su protocal HTTP. Il primo è basato su URLMon, che si basa su WinINet. La versione successiva è basata su WinHTTP, che è una sostituzione amichevole del server per WinINet. Per dirla semplice - ServerXMLHTTP = XML + WinHTTP.

-6

Stavamo usando entrambi questi componenti nelle classiche applicazioni Web ASP. Ci sono stati chiamati un sacco di volte al minuto, da server a server asp pagina sul lato server che chiama un'altra asp o pagina server-side di aspx).

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

La nostra esperienza è che WinHttpRequest è stabile, l'altro no. Abbiamo dovuto rimuovere tutti i nostri oggetti di creazione su serverxmlhttp e sostituirli con winhttprequest, perché dopo un po 'ci voleva molta memoria, il congelamento o il pool di applicazioni iis non rispondeva o diventava molto lento.

Non conosco le specifiche dettagliate di ciascun componente, ma posso assicurarvi che, dalla nostra esperienza, "MSXML2.ServerXMLHTTP.6.0" è quello da utilizzare.

+12

Per me, la tua risposta è confusa. Nel secondo paragrafo, dici "WinHttpRequest è stabile, l'altro no". Nel terzo paragrafo, si dice "dalla nostra esperienza," MSXML2.ServerXMLHTTP.6.0 "è quello da utilizzare." Questi due paragrafi si contraddicono a vicenda. – slolife

1

Allo stesso modo una recente applicazione ha trovato a farmi domande simili, ma dopo l'esecuzione di alcune ricerche rudimentale ho semplificato come segue:

WinHTTP :: un'interfaccia di alto livello per il protocollo HTTP/1.1 Internet

ServerXMLHTTP :: ServerXMLHTTP è raccomandato per applicazioni server e XMLHTTP è consigliato per applicazioni client

Dipende da cosa si sta facendo e quanto controllo si richiede.

Gli elementi esplicitamente negati di ServerXMLHTTP causano spesso alcuni fastidi agli sviluppatori in quanto richiedono un po 'più di "lavoro" per implementare in modo efficace. La mano d'aiuto con gli oggetti WinHTTP e XMLHTTP esplicitamente consentiti non è presente con ServerXMLHTTP.

Se la soluzione richiede elementi di up-scaling Enterprise, l'out-ridimensionamento può quindi essere scelto in modo appropriato.