Аналог ObjectFactory.GetInstance в контейнере LightInject IoC

Есть ли какой-нибудь аналог "ObjectFactory.GetInstance" в контейнере LightInject IoC?

Например, мне нужно разрешить интерфейс в моем пользовательском атрибуте поведения, который унаследован от IServiceBehavior, но по умолчанию нужный мне интерфейс не разрешен.

public class MyInspectorAttribute : Attribute, IOperationBehavior, IParameterInspector, IServiceBehavior
{
    public IExternalService ExternalServiceInstance { get; set; } //always null

    public void AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters) { }

    public void ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation) { }

    public void ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation)
    {
       dispatchOperation.ParameterInspectors.Add(this); 
    }

    public void Validate(OperationDescription operationDescription) { }

    public void AfterCall(string operationName, object[] outputs, object returnValue, object correlationState)
    {
        Console.WriteLine("Operation {0} returned: result = {1}", operationName, returnValue);
    }
}

public class CompositionRoot : ICompositionRoot
{
    public void Compose(IServiceRegistry serviceRegistry)
    {
        serviceRegistry.Register<IService1, Service1>();
        serviceRegistry.Register<IExternalService,ExternalService>();
    }
}

1 ответ

Я являюсь автором LightInject и боюсь, что вы предоставили слишком мало информации о том, что вы пытаетесь сделать. Если это связано с WCF, создайте проблему в репозитории LightInject.Wcf ( https://github.com/seesharper/LightInject.Wcf) и предоставьте простой "рабочий" пример того, что вы пытаетесь сделать

Другие вопросы по тегам