Registro em log do cliente (SDK do Windows Media Format 11)
Quando o objeto leitor lê dados de um servidor, ele envia informações de log para o servidor. Os provedores de conteúdo normalmente usam essas informações para medir a qualidade do serviço, gerar informações de cobrança ou acompanhar a publicidade. As informações de registro em log não contêm dados pessoais.
O aplicativo pode especificar algumas das informações registradas, chamando o método IWMReaderAdvanced::SetClientInfo no objeto reader. Por exemplo, você pode especificar a cadeia de caracteres de agente do usuário, o nome do aplicativo player ou a página da Web que hospeda o player.
As informações de log incluem um GUID que identifica a sessão. Por padrão, o leitor gera uma ID de sessão anônima. Opcionalmente, o leitor pode, em vez disso, enviar uma ID que identifique exclusivamente o usuário atual. Para habilitar esse recurso, chame o método IWMReaderAdvanced2::SetLogClientID com o valor TRUE.
Você pode configurar o objeto leitor para enviar as informações de log para outro servidor, além do servidor de origem. Para fazer isso, chame o método IWMReaderNetworkConfig::AddLoggingUrl com a URL do servidor. Essa URL deve apontar para um script ou executável que possa lidar com solicitações HTTP GET e POST. Você pode usar o Agente de Anúncio multicast e registro em log (wmsiislog.dll) ou pode escrever um script ASP ou CGI personalizado para receber os dados de log.
Observação
Você pode obter a mesma funcionalidade criando uma playlist do lado do servidor com um atributo logURL .
Quando o objeto reader envia o log, ele faz o seguinte:
- Envia uma solicitação GET vazia para o servidor.
- Analisa a resposta do servidor para uma das seguintes cadeias de caracteres:
<body><h1>NetShow ISAPI Log Dll</h1>
-
<body><h1>WMS ISAPI Log Dll/0.0.0.0</h1>
em que "0.0.0.0" é qualquer número de versão válido.
- Envia uma solicitação POST com as informações de log.
O código a seguir mostra um script ASP de exemplo que recebe as informações de log e as grava em um arquivo:
<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>
Você pode especificar vários servidores para receber informações de log; basta chamar AddLoggingUrl uma vez com cada URL. Para limpar a lista de servidores que recebem logs, chame o método IWMReaderNetworkConfig::ResetLoggingUrlList .