Как использовать Внедрение зависимости с Веб-формами ASP.NET

Вы можете проверить на value % 0.25 == 0.

30
задан Jack Ukleja 6 April 2013 в 21:00
поделиться

3 ответа

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

public class PartialView : UserControl
{
    protected override void OnInit(System.EventArgs e)
    {
        ObjectFactory.BuildUp(this);
        base.OnInit(e);
    }
}

, Который введет любое управление, которое наследовалось тому базовому классу (использует structuremap). Комбинируя это с основанной на свойстве конфигурацией, Вы будете в состоянии иметь средства управления как:

public partial class AdminHeader : PartialView
{
   IMyRepository Repository{get;set;}
}

Обновление 1: , Если у Вас не может быть средств управления, наследовались, возможно, CMS имеет право рычага после создания средств управления, там можно назвать BuildUp. Также, если CMS позволяет Вам сцеплять что-то для выборки экземпляра, Вы могли бы использовать основанную на конструкторе инжекцию, но я предпочитаю BuildUp на этом определенном сценарии, поскольку asp.net не имеет рычага для этого.

3
ответ дан eglasius 28 November 2019 в 00:07
поделиться

Вы могли также создать некоторые одноэлементные экземпляры в событии Application_Start global.asax и иметь их в наличии как общедоступные статические свойства только для чтения.

1
ответ дан Andrei Rînea 28 November 2019 в 00:07
поделиться

Autofac поддерживает довольно ненавязчивую инъекцию зависимостей в ASP.NET WebForms. Насколько я понимаю, он просто подключается к жизненному циклу страницы ASP.NET с помощью модуля http и выполняет инъекцию свойств. Единственная загвоздка в том, что для элементов управления я не думаю, что это произойдет до после события Init.

6
ответ дан 28 November 2019 в 00:07
поделиться
Другие вопросы по тегам:

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