2012-08-16 14 views
5

Non riesco a capire la differenza tra questi due concetti "servizio o processo simile al servizio".WinInet vs WinHttp (servizio o processo simile al servizio)

A MSDN WinHTTP vs. WinINet pagina dice:

Quando si seleziona tra i due, si dovrebbe usare WinINet, a meno che non prevede di eseguire all'interno di un processo di servizio o un servizio simile che richiede rappresentazione e sessione di isolamento.

A MSDN nota per WinInet function dice:

Nota WinINet non supporta implementazioni di server. Inoltre, non è possibile utilizzare da un servizio. Per le implementazioni del server oi servizi utilizzare Microsoft Windows HTTP Services (WinHTTP).

Che cos'è "un servizio o un processo simile a un servizio che richiede la rappresentazione e l'isolamento della sessione"?
"WinINet non supporta le implementazioni del server" si riferisce all'esecuzione su Windows Server?
Se la mia applicazione funziona con IIS Devo usare WinHTTP invece WinInet?

risposta

4

WinINet è stato progettato per applicazioni rivolte all'uomo e in alcuni casi visualizza messaggi di errore e popup di connessione sullo schermo utente. Se lo usi da un servizio, o altrimenti non c'è un essere umano che può licenziare il popup, bloccherà la tua applicazione. Questo è il motivo per cui non si dovrebbe utilizzare WinINet a meno che non si sia sicuri che l'utente sia seduto davanti al computer e in attesa di chiudere la finestra di dialogo "Setup connection" oi messaggi di errore.

Se la mia applicazione funziona con IIS Devo usare WinHTTP invece WinInet?

Nessuno dei due. IIS ha il proprio HTTP stack con driver HTTP.sys in esecuzione in modalità kernel

0

Se la mia applicazione funziona con IIS Devo usare WinHTTP invece WinInet?

Se l'applicazione è una ISAPI-DLL, la DLL viene eseguita nel contesto di servizio di IIS. Pertanto è necessario utilizzare WinHTTP.