Я пытаюсь разрешить интерфейс, который я зарегистрировал в Autofac, но он, похоже, не работает.Существует исключение нулевой ссылки.
Класс, в котором я регистрирую интерфейс:
public void RegisterAutofac(HttpConfiguration config)
{
var builder = new ContainerBuilder();
builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
(...)
builder.RegisterType<ApiFileTester>().As<IApiFlTester>().InstancePerRequest();
var container = builder.Build();
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
}
Затем я хочу использовать его в классе:
public class ApiFileSendingController : ApiClientBase
{
private readonly IApiFlTester _apiFileTester;
public ApiFileSendingController(DTO dto, IApiFlTester tester) : base(dto)
{
_tester = tester;
}
public void Send(List<AftInvFileDTO> filesToSendRetry = null)
{
_apiFileTester.RegisterTestingMethods();
}
}
Затем в каком-то другом классе:
DTO dto = new DTO(); //some configuration here
ApiFileSendingController sender = new ApiFileSendingController(dto, null);
sender.Send();
Проблема здесь, потому что у меня нулевой интерфейс.Я пытался передать это так:
ApiFileSendingController sender = новый ApiFileSendingController (dto, null);
, но это ноль и это вполне разумно (я передаюноль).Можно ли настроить необязательный параметр или что-то еще?Я хотел бы, чтобы этот интерфейс разрешался автоматически с помощью функции автозапуска, а не вручную.