Clientprotokollierung (Windows Media Format 11 SDK)
Wenn das Readerobjekt Daten von einem Server liest, sendet es Protokollierungsinformationen an den Server. Inhaltsanbieter verwenden diese Informationen in der Regel, um die Dienstqualität zu messen, Abrechnungsinformationen zu generieren oder Werbung nachzuverfolgen. Die Protokollierungsinformationen enthalten keine personenbezogenen Daten.
Die Anwendung kann einige der protokollierten Informationen angeben, indem sie die IWMReaderAdvanced::SetClientInfo-Methode für das Readerobjekt aufruft. Beispielsweise können Sie die Zeichenfolge des Benutzer-Agents, den Namen der Playeranwendung oder die Webseite angeben, die den Player hostet.
Die Protokollierungsinformationen enthalten eine GUID, die die Sitzung identifiziert. Standardmäßig generiert der Reader eine anonyme Sitzungs-ID. Optional kann der Leser stattdessen eine ID senden, die den aktuellen Benutzer eindeutig identifiziert. Um dieses Feature zu aktivieren, rufen Sie die IWMReaderAdvanced2::SetLogClientID-Methode mit dem Wert TRUE auf.
Sie können das Readerobjekt so konfigurieren, dass die Protokollierungsinformationen zusätzlich zum Ursprungsserver an einen anderen Server gesendet werden. Rufen Sie hierzu die IWMReaderNetworkConfig::AddLoggingUrl-Methode mit der URL des Servers auf. Diese URL sollte auf ein Skript oder eine ausführbare Datei verweisen, das HTTP GET- und POST-Anforderungen verarbeiten kann. Sie können den Multicast- und Protokollankündigungs-Agent (wmsiislog.dll) verwenden oder ein benutzerdefiniertes ASP- oder CGI-Skript schreiben, um die Protokolldaten zu empfangen.
Hinweis
Sie können die gleiche Funktionalität erhalten, indem Sie eine serverseitige Wiedergabeliste mit einem logURL-Attribut erstellen.
Wenn das Readerobjekt das Protokoll sendet, führt es folgende Schritte aus:
- Sendet eine leere GET-Anforderung an den Server.
- Analysiert die Serverantwort für eine der folgenden Zeichenfolgen:
<body><h1>NetShow ISAPI Log Dll</h1><body><h1>WMS ISAPI Log Dll/0.0.0.0</h1>wobei "0.0.0.0" eine gültige Versionsnummer ist.
- Sendet eine POST-Anforderung mit den Protokollinformationen.
Der folgende Code zeigt ein ASP-Beispielskript, das die Protokollierungsinformationen empfängt und in eine Datei schreibt:
<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>
Sie können mehrere Server angeben, um Protokollierungsinformationen zu empfangen. Rufen Sie AddLoggingUrl nur einmal mit jeder URL auf. Um die Liste der Server zu löschen, die Protokolle empfangen, rufen Sie die IWMReaderNetworkConfig::ResetLoggingUrlList-Methode auf.