Кто-нибудь, кто хорошо знаком с расширяемостью FTP 7.5 в IIS, знает, что я могу делать не так?
У меня серьезные проблемы с правильной работой реализации IFtpLogProvider для настраиваемой регистрации. Все, что я хочу сделать, - это регистрировать сбои после статического порога в журнале событий и собирать мусор так часто. Я безуспешно пытался работать с универсальным словарем и провайдером, и теперь даже этот простой кусочек кода мне не подходит. Поставщик даже не создает журнал событий в заглушке кода ниже (или не использует его, если я его создаю заранее). Так что теперь я в замешательстве.
Я следую инструкциям, чтобы зарегистрировать сборку после ее подписания из VS, и я могу подтвердить, что она добавлена в GAC. Добавление его в IIS 7.5 с помощью параметра «Регистрация пользовательских провайдеров» также представляется целесообразным.
Любая помощь с конкретными предложениями будет принята с благодарностью, поскольку даже с отличным набором учебных пособий Роберта МакМюррея у меня все еще есть эти проблемы. Я, кстати, запускаю это на коробке 2008 R2, используя интерфейс для управляемого кода.
Заглушка внизу:
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);
}
}