我已经通过 Nuget 安装了 Ninject,其中包括 Ninject、Ninject.Web.Common、Ninject.Web.Mvc(3)。我现在遇到一个问题,即尝试使用在 NinjectWebCommon 的 RegisterServices 中注册的服务不起作用,并且出现上述错误。这以前有效,所以我一定做了一些事情,把整个事情搞砸了。有什么帮助吗?
我的代码如下。
命名空间 NinjectTestProject.Controllers {
public interface ITest
{
string Test();
}
public class Tester : ITest
{
public string Test()
{
return "testing";
}
}
public class HomeController : Controller
{
private readonly ITest _test;
public HomeController(ITest test)
{
_test = test;
}
public ActionResult Test()
{
return Content(_test.Test());
}
}
}
服务注册 NinjectWebCommon
……
/// <returns>The created kernel.</returns>
private static IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Bind<Func<IKernel>>().ToMethod(ctx => () => new Bootstrapper().Kernel);
kernel.Bind<IHttpModule>().To<HttpApplicationInitializationHttpModule>();
RegisterServices(kernel);
return kernel;
}
/// <summary>
/// Load your modules or register your services here!
/// </summary>
/// <param name="kernel">The kernel.</param>
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<ITest>().To<Tester>();
}