/// <summary>
/// Starts up the Application.
/// </summary>
/// <param name="container">The container.</param>
/// <param name="pipelines">The pipelines.</param>
protected override void ApplicationStartup(TinyIoC.TinyIoCContainer container, Nancy.Bootstrapper.IPipelines pipelines)
{
base.ApplicationStartup(container, pipelines);
container.Register<UserProvider>().AsPerRequestSingleton();
}上面是我现有的应用程序启动,其中包含我的TinyIoc配置。有没有办法把所有的接口注册都转换成PerRequestSingletons?我不能“一个接一个”地完成它们,因为我有太多的存储库,我也不能让它们成为单例,因为它不符合NHibernate的设置方式。
发布于 2012-05-16 20:46:16
如果您希望所有内容都在请求范围内,那么尝试将注册转移到ConfigureRequestContainer方法而不是ApplicationStartup中。
通常,这就是在Nancy中处理请求范围的单例的方式。
如果做不到这一点,您可能需要查看另一个DI包。http://nuget.org/packages/Nancy.Bootstrappers.Autofac
它有更多的功能和约定来处理大量注册。
只需nuget它,然后使您的引导程序成为包中引导程序的子类。
https://stackoverflow.com/questions/10617085
复制相似问题