Я использую способ шаблона nuget для отображения моего приложения MVC3, что означает, что я использую WebActivator для вызова метода в статическом классе, который, в свою очередь, создает загрузчик Ninject и подключается к MVC3.
Это работаетотлично подходит для контроллера, адаптеров и т. д. Но я хочу иметь другой активированный класс Webactivator, который получает свои зависимости с помощью Ninject.
Я получил его для работы с плохим решением, но я бы предпочел более элегантное решение.
Сначала я проверяю, что мой класс Webactivator использует вызов PostApplicationStartMethod, поскольку модуль Ninject использует PreApplicationStartMethod. Я могу убедиться, что ninject был загружен и готов к работе. Затем в методе Start я делаю
var workers = DependencyResolver.Current.GetServices<IWorker>();
Чтобы получить мои зависимости, весь класс выглядит следующим образом
[assembly: WebActivator.PostApplicationStartMethod(typeof(SHB.DALA.Web.App_Start.WorkflowRunner), "Start")]
namespace SHB.DALA.Web.App_Start
{
public static class WorkflowRunner
{
public static void Start()
{
var workers = DependencyResolver.Current.GetServices<IWorker>();
//Do stuff with worker collection
}
}
}
Должно быть более элегантное решение, верно?