Аналог 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) и предоставьте простой "рабочий" пример того, что вы пытаетесь сделать