Condividi tramite


Funzione HttpAddFragmentToCache (http.h)

La funzione HttpAddFragmentToCache memorizza nella cache un frammento di dati con un nome specificato in base al quale può essere recuperato o aggiorna i dati memorizzati nella cache con un nome specificato. Tali frammenti di dati memorizzati nella cache possono essere usati ripetutamente per costruire risposte dinamiche senza il costo delle letture su disco. Ad esempio, una risposta composta da testo e tre immagini può essere assemblata dinamicamente da quattro o più frammenti memorizzati nella cache al momento dell'elaborazione di una richiesta.

Sintassi

HTTPAPI_LINKAGE ULONG HttpAddFragmentToCache(
  [in]           HANDLE             RequestQueueHandle,
  [in]           PCWSTR             UrlPrefix,
  [in]           PHTTP_DATA_CHUNK   DataChunk,
  [in]           PHTTP_CACHE_POLICY CachePolicy,
  [in, optional] LPOVERLAPPED       Overlapped
);

Parametri

[in] RequestQueueHandle

Gestire la coda di richieste a cui è associata questa cache. Viene creata una coda di richieste e il relativo handle restituito da una chiamata alla funzione HttpCreateRequestQueue .

Windows Server 2003 con SP1 e Windows XP con SP2: L'handle per la coda di richieste viene creato dalla funzione HttpCreateHttpHandle .

[in] UrlPrefix

Puntatore a una stringa UrlPrefix usata dall'applicazione nelle chiamate successive a HttpSendHttpResponse per identificare questa voce della cache. L'applicazione deve avere chiamato HttpAddUrl in precedenza con lo stesso handle del parametro ReqQueueHandle e con questa stringa UrlPrefix identica o un prefisso valido.

Come qualsiasi UrlPrefix, questa stringa deve avere il formato "scheme://host:port/relativeURI"; ad esempio . http://www.mysite.com:80/image1.gif

[in] DataChunk

Puntatore a una struttura HTTP_DATA_CHUNK che specifica un blocco di dati del corpo dell'entità da memorizzare nella cache con il nome a cui punta pUrlPrefix.

[in] CachePolicy

Puntatore a una struttura HTTP_CACHE_POLICY che specifica come deve essere memorizzato nella cache questo frammento di dati.

[in, optional] Overlapped

Per le chiamate asincrone, impostare pOverlapped in modo che punti a una struttura OVERLAPPED o per le chiamate sincrone, impostarla su NULL.

Una chiamata sincrona blocca il thread chiamante fino al completamento dell'operazione di cache, mentre una chiamata asincrona restituisce immediatamente ERROR_IO_PENDING e l'applicazione chiamante usa quindi le porte di completamento GetOverlappedResult o I/O per determinare quando l'operazione viene completata. Per altre informazioni sull'uso di strutture OVERLAPPED per la sincronizzazione, vedere Sincronizzazione e input e output sovrapposti.

Valore restituito

Se la funzione ha esito positivo, il valore restituito viene NO_ERROR.

Se la funzione viene usata in modo asincrono, un valore restituito di ERROR_IO_PENDING indica che la richiesta di cache viene accodata e verrà completata in un secondo momento tramite normali meccanismi di completamento di I/O sovrapposti.

Se la funzione ha esito negativo, il valore restituito è uno dei codici di errore seguenti.

Valore Significato
ERROR_INVALID_PARAMETER
Uno o più parametri forniti sono in formato inutilizzabile.
Altri
Codice di errore di sistema definito in WinError.h.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista, Windows XP con SP2 [solo app desktop]
Server minimo supportato Windows Server 2003 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione http.h
Libreria Httpapi.lib
DLL Httpapi.dll

Vedi anche

Funzioni dell'API server HTTP versione 1.0

HttpFlushResponseCache

HttpReadFragmentFromCache