Я искал какое-то время.Инъекция зависимостей с Ninject 2.0 для C# ASP.NET (NOT MVC)
Я не новичок в инъекции зависимостей и использовал 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; }
на странице, а остальное - магия.
Приветствия