Ninject如何访问内核来创建实例?

时间:2010-07-10 19:08:46

标签: asp.net-mvc ninject ninject-2 common-service-locator

我是ninject使用ninject 2.0的新手。我的应用程序托管在asp.net mvc。

现在我不知道如何访问我的类库中创建的内核。

我想我应该在global.aspx中创建内核并加载其中的所有模块。但是如何在整个申请过程中提供它?

    protected void Application_Start()
    {
        RegisterRoutes(RouteTable.Routes);

        IKernel kernel = new StandardKernel(new ServiceModule());
    }

上面创建的内核应该去哪里?以及如何访问它?

1 个答案:

答案 0 :(得分:2)

查看Ninject.Web.Mvc的on the Ninject Dojo's extensions section。这将显示管理此类事物的默认模式(查看源代码)。

您可以按原样使用(大多数人都可以),也可以根据自己的喜好自定义。

您还使用CSL对此进行了标记。在使用Ninject for Service Location之前,请搜索一下为什么将其视为反模式(默认情况下引用的扩展名不会使Kernel公开Global - 您必须添加一个public自己(但另一方面是WCF集成)