【发布时间】:2012-10-17 02:43:11
【问题描述】:
我正在尝试使用结构映射引导程序引导 nancyfx https://github.com/NancyFx/Nancy.Bootstrappers.StructureMap
这是我的设置:
protected override void ConfigureApplicationContainer(IContainer container)
{
container.Configure(x =>
{
x.ForSingletonOf<IRazorConfiguration>()
.Use<DefaultRazorConfiguration>();
x.ForSingletonOf<ISessionContainer>().Use<SessionContainer>();
x.For<IRepository>().LifecycleIs(new HttpContextLifecycle()).Use<Repository>();
x.Scan(scanner=>
{
scanner.TheCallingAssembly();
scanner.AddAllTypesOf<IRepository>();
});
});
base.ConfigureApplicationContainer(container);
}
public interface IRepository
{
void Save();
}
public class Repository:IRepository
{
ISessionContainer _session;
public Repository(ISessionContainer container)
{
_session = container;
}
public void Save()
{
}
}
当我使用var repo = ObjectFactory.GetInstance<IRepository>(); 时,我得到了这个异常:
StructureMap Exception Code: 202
No Default Instance defined for PluginFamily Infrastructure.IRepository, Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
【问题讨论】:
-
您想从哪里获得对
IRepository的引用? NancyFX 很少需要使用 ObjectFactory.GetInstance()。你会更新你使用 IRepository的代码/调用堆栈示例吗? (如果可以的话,从 NancyModule 开始)
标签: structuremap nancy