我正在使用 asp.net MVC 2 和 Ninject 2。
设置非常简单。控制器调用调用存储库的服务。
在我的控制器中,我使用注入毫无问题地实例化服务类。但是服务类不实例化存储库,给我 NullReferenceException。
public class BaseController : Controller
{
[Inject]
public IRoundService roundService { get; set; }
}
这行得通。但这并不...
public class BaseService
{
[Inject]
public IRoundRepository roundRepository { get; set; }
}
当我尝试在 RoundService 类中使用 roundRepository 时给出 NullReferenceException。
IList<Round> rounds = roundRepository.GetRounds( );
模块类 -
public class ServiceModule : NinjectModule
{
public override void Load( )
{
Bind<IRoundService>( ).To<RoundService>( ).InRequestScope( );
}
}
public class RepositoryModule : NinjectModule
{
public override void Load( )
{
Bind<IRoundRepository>( ).To<RoundRepository>( ).InRequestScope( );
}
}
在 global.axax.cs 中
protected override IKernel CreateKernel( )
{
return new StandardKernel( new ServiceModule( ),
new RepositoryModule( ) );
}