0

如何將以下Ninject DI轉換爲Unity?我無法理解正確的語法。將Ninject DI轉換爲Unity DI

/// <summary> 
    /// Load your modules or register your services here! 
    /// </summary> 
    /// <param name="kernel">The kernel.</param> 
    private static void RegisterServices(IKernel kernel) 
    { 
     Database.SetInitializer(new MigrateDatabaseToLatestVersion<DefaultMembershipRebootDatabase, BrockAllen.MembershipReboot.Ef.Migrations.Configuration>()); 

     var config = MembershipRebootConfig.Create(); 
     kernel.Bind<MembershipRebootConfiguration>().ToConstant(config); 
     kernel.Bind<UserAccountService>().ToSelf(); 
     kernel.Bind<AuthenticationService>().To<SamAuthenticationService>(); 
     kernel.Bind<IUserAccountQuery>().To<DefaultUserAccountRepository>().InRequestScope(); 
     kernel.Bind<IUserAccountRepository>().To<DefaultUserAccountRepository>().InRequestScope(); 
    } 

回答

1
  • 註冊的單個實例是使用RegisterInstance方法完成。
  • 使用RegisterType<T>()方法將類型註冊爲「自我」。
  • 使用HierarchicalLifetimeManager完成使用請求生活方式註冊類型。