2012-08-16 26 views
5

Ich kann nicht den Unterschied zwischen diesen beiden Begriffen "Service-oder Service-ähnliche Prozess" verstehen.WinInet vs WinHttp (Service oder Service-ähnliche Prozess)

Auf Msdn WinHTTP vs. WinINet Seite sagt:

Wenn zwischen den beiden auswählen, Sie WinINet- verwenden sollten, es sei denn, Sie Plan innerhalb eines Services oder Service-ähnlichen Prozess auszuführen, die Identitätswechsel und Sitzungs Isolation erfordert.

Bei Msdn Hinweis für WinInet function sagt:

Hinweis WinINet- nicht-Server-Implementierungen unterstützt. Außerdem sollte es nicht von einem Dienst verwendet werden. Verwenden Sie für Serverimplementierungen oder Dienste Microsoft Windows HTTP Services (WinHTTP).

Welcher "Service- oder Service-ähnliche Prozess, der Identitätswechsel und Session-Isolation erfordert" bedeutet?
"WinINet unterstützt keine Serverimplementierungen" bezieht sich auf Windows Server ausführen?
Wenn meine Anwendung mit IIS ausgeführt wird Muss ich WinHTTP statt WinInet verwenden?

Antwort

4

WinINet wurde für Benutzeranwendungen entwickelt und zeigt in einigen Fällen Fehlermeldungen und Verbindungs-Popups auf dem Benutzerbildschirm an. Wenn Sie es aus einem Dienst verwenden oder wenn kein Mensch das Popup-Fenster schließen kann, wird Ihre Bewerbung blockiert. Deshalb sollten Sie WinINet nur verwenden, wenn Sie sicher sind, dass der Benutzer vor dem Computer sitzt und darauf wartet, den Dialog "Verbindung einrichten" oder Fehlermeldungen zu schließen.

Wenn meine Anwendung mit IIS ausgeführt wird Muss ich WinHTTP statt WinInet verwenden?

Weder. IIS hat eine eigene HTTP stack mit HTTP.sys-Treiber im Kernel-Modus ausgeführt

0

Wenn meine Anwendung mit IIS ausgeführt habe ich WinHTTP statt WinInet verwenden?

Wenn Ihre Anwendung eine ISAPI-DLL ist, wird die DLL im Service-Kontext von IIS ausgeführt. Daher sollten Sie WinHTTP verwenden.