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);
}
}