Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save beyond-code-github/d2f795b0ab61eaa50174 to your computer and use it in GitHub Desktop.
Save beyond-code-github/d2f795b0ab61eaa50174 to your computer and use it in GitHub Desktop.
using Autofac;
using Xunit;
namespace LifetimeScope
{
public class Stackoverflow24762539
{
[Fact]
public void Repro()
{
var builder = new ContainerBuilder();
builder.RegisterType<UnitOfWork>().As<IUnitOfWork>().InstancePerLifetimeScope();
using (var container = builder.Build())
{
using (var lifetimeScope = container.BeginLifetimeScope(b => b.RegisterInstance(new PrincipalFactory()).As<IPrincipalFactory>()))
{
var unitOfWork = lifetimeScope.Resolve<Responder>();
Assert.NotNull(unitOfWork);
}
}
}
}
public class Responder
{
private IUnitOfWork unitOfWork;
public Responder(IUnitOfWork unitOfWork)
{
this.unitOfWork = unitOfWork;
}
}
public interface IUnitOfWork
{
}
public class UnitOfWork : IUnitOfWork
{
private readonly IPrincipalFactory _principalFactory;
public UnitOfWork(IPrincipalFactory principalFactory)
{
_principalFactory = principalFactory;
}
}
public interface IPrincipalFactory
{
}
public class PrincipalFactory : IPrincipalFactory
{
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment