Extensibilidade do IIS FTP 7.5 (IFtpLogProvider e registro de falhas de FTP no log de eventos)

Alguém bem familiarizado com a extensibilidade do FTP 7.5 no IIS sabe o que eu poderia estar fazendo errado?

Estou tendo sérios problemas para obter uma implementação do IFtpLogProvider para funcionar corretamente para log personalizado. Tudo o que quero fazer é registrar falhas além de um limite estático no log de eventos e ter coleta de lixo de vez em quando. Eu tentei trabalhar com um dicionário genérico e o provedor sem sorte, e agora até mesmo esse simples código não consigo trabalhar. O provedor não está nem criando o log de eventos no código abaixo (ou usando-o se eu os criar de antemão). Então agora estou profundamente confuso.

Eu sigo as instruções para registrar o assembly depois que ele é assinado no VS e posso confirmar que ele foi adicionado ao GAC. Adicioná-lo ao IIS 7.5 por meio da opção Register Custom Providers (Provedores Personalizados de Registros) parece estar bem também.

Qualquer ajuda com sugestões específicas seria muito apreciada, pois mesmo com o excelente conjunto de tutoriais de Robert McMurray ainda estou tendo esses problemas. Estou correndo isso em uma caixa 2008 R2, a propósito, usando a interface para o código gerenciado.

Esboço abaixo:

using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Configuration.Provider;
using System.Data;
using System.Data.SqlClient;
using System.Diagnostics;
using System.Diagnostics.Eventing;
using System.Text;
using Microsoft.Web.FtpServer;
using System.IO;

public class test: BaseProvider, IFtpLogProvider
{

    void IFtpLogProvider.Log(FtpLogEntry loggingParameters)
    {
        if (!EventLog.SourceExists("TEST"))
        {
            EventLog.CreateEventSource("TEST", "TEST");
        }

        // Just trying to get anything into this log, like a list of
        // USER attempts or something
        EventLog.WriteEntry("TEST", loggingParameters.Command);

    }

    // Mark an IP address for banning.
    private void BanAddress(string ipAddress)
    {
        EventLog.WriteEntry("TEST", ipAddress, EventLogEntryType.Warning, 9010);
    }
}

questionAnswers(1)

yourAnswerToTheQuestion