Registrazione client (Windows Media Format 11 SDK)
Quando l'oggetto lettore legge i dati da un server, invia informazioni di registrazione al server. I provider di contenuti usano in genere queste informazioni per misurare la qualità del servizio, generare informazioni di fatturazione o tenere traccia della pubblicità. Le informazioni di registrazione non contengono dati personali.
L'applicazione può specificare alcune delle informazioni registrate chiamando il metodo IWMReaderAdvanced::SetClientInfo nell'oggetto reader. Ad esempio, è possibile specificare la stringa dell'agente utente, il nome dell'applicazione lettore o la pagina Web che ospita il lettore.
Le informazioni di registrazione includono un GUID che identifica la sessione. Per impostazione predefinita, il lettore genera un ID sessione anonimo. Facoltativamente, il lettore può invece inviare un ID che identifica in modo univoco l'utente corrente. Per abilitare questa funzionalità, chiamare il metodo IWMReaderAdvanced2::SetLogClientID con il valore TRUE.
È possibile configurare l'oggetto lettore per inviare le informazioni di registrazione a un altro server, oltre al server di origine. A tale scopo, chiamare il metodo IWMReaderNetworkConfig::AddLoggingUrl con l'URL del server. Questo URL deve puntare a uno script o a un eseguibile che può gestire le richieste HTTP GET e POST. È possibile usare l'agente annunci multicast e registrazione (wmsiislog.dll) oppure è possibile scrivere uno script ASP o CGI personalizzato per ricevere i dati di log.
Nota
È possibile ottenere la stessa funzionalità creando una playlist lato server con un attributo logURL .
Quando l'oggetto reader invia il log, esegue le operazioni seguenti:
- Invia una richiesta GET vuota al server.
- Analizza la risposta del server per una delle stringhe seguenti:
<body><h1>NetShow ISAPI Log Dll</h1>
-
<body><h1>WMS ISAPI Log Dll/0.0.0.0</h1>
dove "0.0.0.0" è qualsiasi numero di versione valido.
- Invia una richiesta POST con le informazioni del log.
Il codice seguente mostra uno script ASP di esempio che riceve le informazioni di registrazione e lo scrive in un file:
<html>
<body>
<h1>WMS ISAPI Log Dll/9.00.00.00.00</h1>
<%@ Language=VBScript %>
<%
Dim temp, i, post, file, fso
' Convert the binary data to a string.
For i = 1 To Request.TotalBytes
temp = Request.BinaryRead(1)
pose = pose & Chr(AscB(temp))
Next
Set fso = createobject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("C:\log.txt", 8, TRUE)
file.writeline Now
file.writeline post
file.writeBlankLines 2
%>
</body>
</html>
È possibile specificare più server per ricevere informazioni di registrazione; chiama solo AddLoggingUrl una volta con ogni URL. Per cancellare l'elenco dei server che ricevono i log, chiamare il metodo IWMReaderNetworkConfig::ResetLoggingUrlList .