Я долго искал.
Я не новичок в внедрении зависимостей и уже использовал StructureMap с несколькими проектами MVC и т. П., Но мне хотелось попробовать Ninject, чтобы не упустить веселье.
Я пытаюсь использовать Ninject с существующим веб-приложением, которое я обновляю.
Я не смог найти в блогах и вики, предоставленных Ninject, я немного нетерпелив, если честно, поэтому, возможно, пропустил его, и первые несколько страниц Google устарели или говорят об использовании MVC с Ninject.
Пока у меня есть следующее, и оно работает, но я надеялся, что кто-то может указать на менее навязчивую опцию, касающуюся вызова ServiceModule для Ядра и внедрения свойства с желаемой привязкой из веб-приложения.
У меня пока есть ServiceModule:
public class ServiceModule : NinjectModule
{
public override void Load()
{
string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
Bind<IPreRegistrationService>().To<PreRegistrationService>()
.WithConstructorArgument("connectionString",connectionString);
}
}
Тогда на своей странице я определил личную переменную:
private IPreRegistrationService xfemPreRegistrationService = null;
Тогда в событии загрузки страницы:
IKernel kernel = new StandardKernel(new ServiceModule());
xfemPreRegistrationService = kernel.Get<IPreRegistrationService>();
Так что это работает, но я хотел бы перейти к фазе, где все, что я определяю, это:
[Inject]
public IPreRegistrationService xfemPreRegistrationService { get; set; }
на странице, а остальное - волшебство.
Приветствия