Вы делаете то же самое, что и в упомянутой вами статье, но выбираете один из видов жизни 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, и вы будете увереныон создается и правильно распределяется из-за использования дочернего контейнера.