Используйте Ninject.Wcf в ASP.NET MVC3. Извлечение из NinjectWcfApplication отключает приложение - PullRequest
3 голосов
/ 09 марта 2012

Я использую веб-службы с поддержкой AJAX в своем приложении ASP.NET MVC3 и хочу добавить в них некоторые классы. Поэтому я установил NInject.Wcf, установил фабрику на Ninject.Extensions.Wcf.NinjectServiceHostFactory, и следующим шагом является получение класса приложения (MVCApplication в Global.asax) из NinjectWcfApplication, но когда я это сделал, IIS прекратил работу моего приложения, он пытается использовать модуль StaticFile вместо направления запроса к контроллеру.

Как это исправить или как по-другому реализовать NInject с WCF?

1 Ответ

2 голосов
/ 11 марта 2012

Я наконец-то понял это, причина, по которой маршруты не были правильно настроены, из-за шаблона Global.asax по умолчанию для приложения ASP.NET MVC, по умолчанию он определяет

void Application_Start() { ... }

и так как HttpApplication donэтот метод не определен, IIS вызывает этот метод при запуске.Поэтому при выводе из NinjectWcfApplication, который имеет определенный метод Application_Start, нам нужно изменить метод по умолчанию на:

protected override void Application_Start(object sender, EventArgs e)
{
    .....
    base.Application_Start(sender, e);
}

, если мы этого не сделаем, IIS вместо этого вызовет NinjectWcfApplication.Application_Startнашего Application_Start метода.

...