Ninject с веб-формами ASP.NET и MVC

Я хочу использовать Ninject в проекте, который комбинирует веб-формы ASP.NET и ASP.NET MVC. Я использую Ninject 2, но когда я использую NinjectHttpApplication от Ninject. Сеть. Mvc это жалуется, когда я использую somethings как PageBase, что Ядро не создается.

У меня есть следующее в Global.asax, и не уверено, что добавить.

public class MvcApplication : Ninject.Web.Mvc.NinjectHttpApplication
{
    protected override void OnApplicationStarted()
    {
        AreaRegistration.RegisterAllAreas();
        RegisterRoutes(RouteTable.Routes);
        RegisterAllControllersIn(Assembly.GetExecutingAssembly());
    }

    protected override Ninject.IKernel CreateKernel()
    {
        return new StandardKernel(new ServiceModule());
    }
}

У кого-то есть эта работа где-нибудь, кто мог совместно использовать некоторые мысли или код этого?

7
задан DaveRandom 25 February 2013 в 23:16
поделиться

3 ответа

Как сказал Рубен, я разместил сообщение в списке рассылки Ninject:

http://groups.google.com/group/ninject/browse_thread/thread/317fc48387399aa6

Короткий ответ: к сожалению, это не совсем возможно. Однако с помощью пользовательского класса PageBase вы можете сделать инъекцию свойств и методов возможной (из ответа Нейта Кохари в списке рассылки Ninject):

public abstract class PageBase : Page
{
  public IKernel Kernel { get; private set; }
  public PageBase() { Kernel = ...; }
  public void Page_Init() { Kernel.Inject(this); }
} 
2
ответ дан 7 December 2019 в 14:28
поделиться

вот несколько очень хороших ресурсов о том, как использовать DI в веб-формах, которые я недавно добавил в закладки:

http://aspnetresources.com/articles/ioc_and_di_with_web_forms http: //aspnetresources.com/articles/real_world_ioc_and_di_with_webforms

Надеюсь, это поможет.

1
ответ дан 7 December 2019 в 14:28
поделиться

1) Посмотрите в исходном коде как Mvc, так и не-Mvc Ninject Extensions - код очень короткий и аккуратный

2) Перейдите в список рассылки ninject и задайте этот вопрос вместе с тем, что вы ' я узнал из первоисточника. Будет ответ или патч быстро светится

1
ответ дан 7 December 2019 в 14:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: