我正在尝试在Unity中复制以下Ninject语法,但没有任何运气:

Bind<IIdentity>().ToMethod(c => HttpContext.Current.User.Identity);

我认为它应该看起来像:
IUnityContainer container;
...
container.RegisterType<IIdentity>(HttpContext.Current.User.Identity);

应该怎么办

最佳答案

尽管neontapir's答案可能有效,但该扩展方法已过时。现在执行此操作的正确方法是使用InjectionFactory:

container.RegisterType<IIdentity>(new InjectionFactory(u => HttpContext.Current.User.Identity));

关于c# - Ninject的IPrincipal,IIdentity的Bind.ToMethod的Unity等效项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8246709/

10-13 00:56