Выбор интерфейса WinHTTP

Прежде чем приступить к разработке приложения служб Microsoft Windows HTTP Services (WinHTTP), необходимо сначала решить, следует ли использовать API C/C++ или ИНТЕРФЕЙС COM. В следующей таблице перечислены преимущества и недостатки, связанные с каждым из этих подходов.

Преимущество или недостаток C/C++ API Интерфейс COM
Преимущества
  • Ответы можно обрабатывать блоками, что более эффективно.
  • Операции POST также можно обрабатывать блоками, что ускоряет обработку.
  • Поддержка AutoProxy.
  • Доступ к полному набору функций WinHTTP.
  • Двоичные данные можно легко обрабатывать.
  • Создание приложения несложно и требует меньше строк кода, чем API C/C++.
  • Интерфейс может использоваться языками сценариев.
Недостатки
  • Обработка является более сложной.
  • Api C/C++ требует больше шагов, чем COM-интерфейс для выполнения одних и того же действия.
  • Для настройки запроса требуется больше кода.
  • COM-интерфейс не предоставляет доступ к полному набору функций WinHTTP.
  • В некоторых языках сценариев, таких как VBScript и JScript, трудно обрабатывать двоичные типы данных.
  • COM-интерфейс не поддерживает AutoProxy.
  • Приложения должны использовать модель COM APARTMENT_THREADED.
  • Прежде чем начать обработку ответа, необходимо сначала получить и буферизать весь ответ.