在我的应用程序中,我将 StructureMap 与 EntityFramework 一起使用。
好吧,我的 ioc 配置看起来像:
x.For<IDbContext>().Use(c => new DbContext(AppSettings.ConnectionString));
x.For<IManager>().Singleton().Use<DefaultManagerImplementation);
x.For<IManagerService>().Use<DefaultManagerServiceImplementation>();
我的问题是关于处理 IManagerService 中使用的 DbContext 实例。
IManager服务:
using(var ctx = new DbContext(AppSettings.ConnectionString)
{
// works fine
ctx.
ctx.save();
}
public class ManagerService : IManagerService
{
private readonly IDbContext _dbContext;
public ManagerService(IDbcontext dbContext)
{
// not works, because DbContext is not disposed?
_dbContext = dbContext; // inject
...
_dbContext.Get... return old data
}
}
那么,这里是否有任何改变来强制处理结构图中的单例实例中的对象?
谢谢