Я пытаюсь сделать эту работу:Получение услуги PerRequest из компонента SingleInstance
builder.RegisterInstance(EngineFactory.Instance).SingleInstance().ExternallyOwned();
builder.Register(c =>
{
EngineFactory engineFactory = DependencyResolver.Current.GetService<EngineFactory>();
//EngineFactory engineFactory = c.Resolve<EngineFactory>();
IEngineService engineService = engineFactory.GetService();
return engineService;
}).InstancePerRequest().As<IEngineService>();
И я получаю сообщение об ошибке:
No scope with a Tag matching 'AutofacWebRequest' is visible from the scope in which the instance was requested.
This generally indicates that a component registered as per-HTTP request is being requested by a SingleInstance() component (or a similar scenario.)
Under the web integration always request dependencies from the DependencyResolver.Current or ILifetimeScopeProvider.RequestLifetime, never from the container itself.
Чтобы сделать вещи ясно, я хочу EngineFactory к быть единственным (созданным внешним), а IEngineService - экземпляром запроса Per (web) Request.
Ошибка при вводе объекта управления IEngineService.
Я не понимаю, что я делаю неправильно ...
Не могли бы вы поделиться трассировкой стека исключения? –