任何非常熟悉 IIS 中的 FTP 7.5 可扩展性的人都知道我可能做错了什么吗?
我在让 IFtpLogProvider 的实现正常工作以进行自定义日志记录时遇到严重问题。我要做的就是将超出静态阈值的故障记录到事件日志中,并且每隔一段时间进行一次垃圾收集。我试过使用通用字典和提供者,但没有运气,现在即使是这个简单的代码我也无法工作。提供者甚至没有在下面的代码存根中创建事件日志(或者如果我事先创建它,则使用它)。所以现在我很困惑。
在从 VS 中签名后,我按照说明注册程序集,我可以确认它已添加到 GAC。通过注册自定义提供程序选项将其添加到 IIS 7.5 似乎也很好。
任何有关具体建议的帮助都将不胜感激,因为即使使用 Robert McMurray 的优秀教程集,我仍然遇到这些问题。顺便说一句,我正在使用托管代码的接口在 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);
}
}