Управление версиями (API HTTP-сервера)

API HTTP-сервера версии 2.0 делает устаревшими очереди запросов версии 1.0 и связи URL-адресов с очередью запросов. Управление версиями на уровне объектов позволяет приложениям предоставлять сведения о версии конкретного приложения. Приложение может автоматически вызывать правильную версию структур для операционной системы, в которой оно выполняется.

Очереди запросов

Начиная с API HTTP-сервера версии 2.0 очереди запросов создаются с помощью HttpCreateRequestQueue , что делает функцию HttpCreateHttpHandle версии 1.0 устаревшей. Группы URL-адресов появились в версии 2.0 с функцией HttpCreateUrlGroup . URL-адреса добавляются в группу с помощью HttpAddUrlToUrlGroup , что делает устаревшей функцию HttpAddUrl версии 1.0. Группы URL-адресов версии 2.0 не должны использоваться с очередями запросов версии 1.0.

Начиная с версии 2.0 следующие функции версии 1.0 устарели и не могут использоваться с очередями запросов версии 2.0:

Дополнительные сведения о настройке групп URL-адресов см. в разделе Настройка группы URL-адресов . Дополнительные сведения об очередях запросов версии 2.0 см. в разделе Именованной очереди запросов .

Управление версиями Object-Scoped

В версии 1.0 приложение предоставляет версию API HTTP-сервера в вызове HttpInitialize. Сведения о версии принимаются только из первого приложения, которое называется HttpInitialize , и применяются ко всем приложениям API HTTP-сервера в одном процессе. Начиная с API версии 2.0 глобальные сведения о версии, предоставленные в вызове HttpInitialize , не используются. Для приложений версии 2.0 версия API HTTP-сервера передается в параметре Version при создании очереди запросов или сеанса сервера с помощью HttpCreateRequestQueue или HttpCreateServerSession. При создании очереди запросов с httpCreateHttpHandle версии 1.0 она автоматически помечается как версия 1.0. Приложения версий 1.0 и 2.0 могут выполняться в одном процессе.

Структуры HTTP_REQUEST и HTTP_RESPONSE обновлены для включения сведений о проверке подлинности в API HTTP-сервера версии 2.0. HTTP_REQUEST_V1 и HTTP_REQUEST_V2 зависят от версии API, используемой приложением. Однако приложения не должны использовать эти структуры непосредственно в коде; Вместо этого они должны использовать HTTP_REQUEST , чтобы получить правильную версию на основе версии очереди запросов, в которой был получен запрос. Кроме того, имейте в виду, что размер структуры HTTP_REQUEST зависит от версии операционной системы, в которой компилируется код.