IIS FTP 7.5 Rozszerzalność (IFtpLogProvider i rejestrowanie błędów FTP w dzienniku zdarzeń)

Każdy, kto dobrze zna rozszerzenie FTP 7.5 w IIS, wie, co mogę robić źle?

Mam poważne problemy z uzyskaniem implementacji IFtpLogProvider do poprawnej pracy przy niestandardowym logowaniu. Wszystko, co chcę zrobić, to rejestrować awarie poza statycznym progiem do dziennika zdarzeń i mieć co jakiś czas zbieranie śmieci. Próbowałem pracować ze słownikiem ogólnym i dostawcą bez powodzenia, a teraz nawet ten prosty fragment kodu nie może działać. Dostawca nie tworzy nawet dziennika zdarzeń w poniższym kodzie kodu (lub używa go, jeśli wcześniej go utworzę). Więc teraz jestem głęboko zdezorientowany.

Postępuję zgodnie z instrukcjami, aby zarejestrować zespół po podpisaniu go z VS i mogę potwierdzić, że jest on dodawany do GAC. Dodanie go do IIS 7.5 za pomocą opcji Zarejestruj niestandardowych dostawców również wydaje się być w porządku.

Jakakolwiek pomoc z konkretnymi sugestiami byłaby bardzo mile widziana, ponieważ nawet z doskonałym zestawem samouczków Roberta McMurray nadal mam te problemy. Nawiasem mówiąc, uruchamiam to na pudełku z 2008 R2, używając interfejsu kodu zarządzanego.

Stub poniżej:

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