Вы делаете то же самое, что и в упомянутом вами артикле, но выбираете один из автокадров Autofac. Если у вас есть другие классы, связанные с обработкой сообщений, где вы хотите, чтобы ваш сеанс, который будет введен, вы используете InstancePerLifetimeScope как это
public class EndpointConfig : IConfigureThisEndpoint, AsA_Publisher, IWantCustomInitialization
{
public void Init()
{
var builder = new ContainerBuilder();
builder.Register(s => SessionFactory.CreateSessionFactory()).As<ISessionFactory>().SingleInstance();
builder.Register(x => x.Resolve<ISessionFactory>().OpenSession()).As<ISession>().InstancePerLifetimeScope();
var container = builder.Build();
Configure.With().AutofacBuilder(container);
}
}
Вы также можете зарегистрировать любую другую зависимость, необходимую в вашем контексте NSB, и вы будете уверены, что это инстанцируется и дозируется должным образом из-за использования детского контейнера.
wont они вводят странные любопытные замки в вашей системе? – Baz1nga