Использование autofac для ввода свойств на страницы asp.net: переопределение поведения PropertyInjectionModule для ввода значений / настроек - PullRequest
1 голос
/ 15 июня 2011

Можно ли ввести значения / настройки в страницы ASP.NET через PropertyInjectionModule autofac?У меня складывается впечатление, что поведение обработчика по умолчанию заключается в поиске свойств и нахождении любых типов, соответствующих службам в контейнере.

, например, для страницы:

public class MyPage: System.Web.UI.Page {
    public IDataProvider DataProvider { get; set; }

    public bool SomeSetting {get; set; }
    public bool AnotherSetting { get; set; }
    public string MySettings { get; set; }

    // stuff
}

Я подумал, что вы могли бы указатьСвойства:

builder.RegisterType<MyPage>()
    .WithProperty("SomeSetting", true)
    .WithProperty("AnotherSetting", false)
    .WithProperty("MySettings", "do-re-mi");

, но, похоже, не работает.

Я понимаю, что могу настроить интерфейс IMyPageConfig и предоставить настройки таким образом, но это дополнительные свойства, которые могут или не могут понадобитьсябыть установленным.

1 Ответ

1 голос
/ 15 июня 2011

IoC в ASP.NET Page s немного ограничен - хотя модуль внедряет свойства в страницу, он не может реально использовать функции автоматического ввода зависимостей в Autofac.

В WebForms люди обычно пытаются обойти это, используя что-то вроде Model-View-Presenter, где страница - просто «тупое» представление, а в Presenter - логика (и правильное внедрение зависимостей).

Проверьте http://webformsmvp.com/ - Я думаю, что есть пример IoC и там доступна поддержка Autofac.

...