c# – 在Unity中的类型之间共享终身经理?
我在Unity文档中看到的示例让您通过内联新的LifetimeManager()来指定生命周期管理器.所以我有这个代码:
container.RegisterType<ApplicationDbContext>(new PerRequestLifetimeManager()); container.RegisterType<IUserStore<ApplicationUser>,UserStore<ApplicationUser>>(new PerRequestLifetimeManager(),new InjectionConstructor(typeof (ApplicationDbContext))); container.RegisterType<UserManager<ApplicationUser>>(new PerRequestLifetimeManager()); 很好,但我想知道为什么我要创建这么多实例.我有什么理由不这样写吗? var lifetimeManager = new PerRequestLifetimeManager(); container.RegisterType<ApplicationDbContext>(lifetimeManager); container.RegisterType<IUserStore<ApplicationUser>,UserStore<ApplicationUser>>(lifetimeManager,new InjectionConstructor(typeof (ApplicationDbContext))); container.RegisterType<UserManager<ApplicationUser>>(lifetimeManager); 这看起来很明显但是通过PDF阅读所有的例子都是前一种风格而没有评论,所以我想知道我是否不理解它是如何工作的. 解决方法
不,你不能这样做.如果您尝试以下操作,您会发现您的应用程序会抛出异常:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |