Condividi tramite


Registrazione client (Windows Media Format 11 SDK)

[La funzionalità associata a questa pagina, Windows Media Format 11 SDK, è una funzionalità legacy. È stata sostituita da lettore di origine e writer sink. lettore di origine e sink writer sono stati ottimizzati per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi lettore di origine e writer sink invece di Windows Media Format 11 SDK, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

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 informazioni registrate chiamando il metodo IWMReaderAdvanced::SetClientInfo sull'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 in grado di 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 lettore invia il log, esegue le operazioni seguenti:

  1. Invia una richiesta GET vuota al server.
  2. 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.
  3. Invia una richiesta POST con le informazioni di log.

Il codice seguente illustra 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; basta chiamare AddLoggingUrl una volta con ogni URL. Per cancellare l'elenco dei server che ricevono i log, chiamare il metodo IWMReaderNetworkConfig::ResetLoggingUrlList.

Implementazione della funzionalità di rete

interfaccia IWMReaderAdvanced Interface

interfaccia IWMReaderAdvanced2