Я заменил наследование HttpAplication в моем Global.asax на NinjectHttpApplication :
public class Global : NinjectHttpApplication
{
protected override IKernel CreateKernel()
{
return Bootstrapper.CreateKernel();
}
protected override void OnApplicationStarted()
{
base.OnApplicationStarted();
DependencyResolver.SetResolver(new NinjectDependencyResolver(CreateKernel()));
Bootstrapper.Bootstrap();
}
}
И мой метод CreateKernel:
public static IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
return kernel;
}
Мне нужно использовать атрибут [Inject] в моем RoleService, который использует RoleProvider и запускается asp.net.
Все говорят, что если я наследую от NinjectHttpApplication в моем Global.asax мне не нужна эта строка: DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
в моем OnApplicationStarted методе, но без этого генерируется исключение, и моя зависимость NULL в моей службе RoleProvider.
В конце концов, мне нужна эта строка или нет?Я что-то не так делаю?