2012-08-16 14 views
5

No puedo entender la diferencia entre estos dos conceptos "servicio o proceso similar a un servicio".WinInet vs WinHttp (servicio o proceso similar al servicio)

En la página de MSDN WinHTTP vs. WinINet dice:

Al seleccionar entre los dos, debe utilizar WinINet, a menos que plan para ejecutar dentro de un proceso de servicio o servicio similar que requiere suplantación y la sesión de aislamiento.

En MSDN nota para WinInet function dice:

Nota WinINet no admite implementaciones del servidor. Además, no se debe usar desde un servicio. Para implementaciones de servidores o servicios , use los Servicios HTTP de Microsoft Windows (WinHTTP).

¿Qué significa "servicio o proceso similar al servicio que requiere suplantación y aislamiento de sesión"?
"WinINet no es compatible con las implementaciones del servidor" se refiere a ejecutar en Windows Server?
Si mi aplicación se ejecuta con IIS ¿Tengo que usar WinHTTP en lugar de WinInet?

Respuesta

4

WinINet fue diseñado para aplicaciones orientadas a los humanos, y en algunos casos muestra mensajes de error y ventanas emergentes de conexión en la pantalla del usuario. Si lo usa desde un servicio, o de lo contrario no hay ningún humano que pueda cerrar la ventana emergente, bloqueará su aplicación. Es por eso que no debe usar WinINet a menos que esté seguro de que el usuario está sentado frente a la computadora y esperando a descartar el diálogo "Configurar conexión" o los mensajes de error.

Si mi aplicación se ejecuta con IIS ¿Tengo que usar WinHTTP en lugar de WinInet?

Ninguno. IIS tiene su propio HTTP stack con el controlador HTTP.sys ejecutándose en modo núcleo

0

Si mi aplicación se ejecuta con IIS ¿Tengo que usar WinHTTP en lugar de WinInet?

Si su aplicación es una DLL ISAPI, la DLL se ejecuta en el contexto de servicio de IIS. Por lo tanto, debe usar WinHTTP.

Cuestiones relacionadas