Ninjectを使用してプロジェクトにDIを設定しました。UserControllerの例を次に示します。
private readonly IRoleRepository roleRepository;
private readonly IUserRepository userRepository;
public UserController(IUserRepository userRepository, IRoleRepository roleRepository)
{
this.roleRepository = roleRepository;
this.userRepository = userRepository;
}
私のNinjectWebCommon.csファイルには、次のものがあります。
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IControllerFactory>().To<DefaultControllerFactory>();
kernel.Bind<IUnitOfWork>().To<PortalContext>().InSingletonScope();
kernel.Bind<IUserRepository>().To<UserRepository>();
kernel.Bind<IRoleRepository>().To<RoleRepositoroy>();
}
ただし、ユーザーとロールのリポジトリをカスタムメンバーシッププロバイダーに挿入する方法がわからないようです。私はここで壁にぶつかったので、どんな助けでも大歓迎です。リポジトリと作業単位のパターンでAsp.netMVC4とEF4を使用しています。ありがとう。