Jak wstrzyknąć obiekt do klasy walidatora WCF

Kontynuacja korzystania z wtrysku zależności dlaUsługi WCF, czy jest jakiś sposób używania DI dla WCFwalidatory, aby można było to zrobić:

public class DIValidator : UserNamePasswordValidator
{
    private readonly IService service;

    [Inject]
    public DIValidator(IService service)
    {
        this.service = service;
    }

    public override void Validate(string userName, string password)
    {
        service.Login(userName, password);
    }
}

EDIT - Próbowałem zastosować poradę Dzmitry'ego do mojego niestandardowego rozszerzenia zachowania, ponieważ mój walidator jest zdefiniowany w app.config. Niestety otrzymuję wyjątek MethodMissingException, ponieważ wcf chce, aby mój walidator miał domyślny konstruktor:

System.MissingMethodException: No default constructor has been defined for this object.

at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)

Oto moja klasa zachowania:

    public class DependencyInjectionServiceBehavior : BehaviorExtensionElement, IServiceBehavior
    {
        public void ApplyDispatchBehavior(ServiceDescription serviceDescription, ServiceHostBase serviceHostBase)
        {
            serviceHostBase.Credentials.UserNameAuthentication.CustomUserNamePasswordValidator = DISupport.Kernel.Get<IService>();
        }
    }

questionAnswers(2)

yourAnswerToTheQuestion