2011-06-15 2 views
1

autofac의 PropertyInjectionModule을 통해 ASP.NET 페이지에 값/설정을 주입 할 수 있습니까? 기본 처리기 동작은 속성을 검색하고 컨테이너의 서비스와 일치하는 모든 유형을 찾는 것이라는 인상을받습니다. 페이지에 대한autofac을 사용하여 asp.net 페이지에 속성을 주입 : 값/설정을 주입하는 PropertyInjectionModule 동작 무시

예 :

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 인터페이스를 설치하고 설정을 제공 할 수 있다는 것을 알았지 만 설정해야 할 수도 있고하지 않을 수도있는 선택적 속성입니다.

+0

[Autofac ASP.NET Integration] (http://code.google.com/p/autofac/wiki/AspNetIntegration)을 사용하고 있습니까? – bentayloruk

답변

1

Page의 IoC는 제한적입니다. 모듈이 페이지에 속성을 주입하고는 있지만 Autofac의 일반적인 종속성 삽입 기능을 실제로 사용할 수는 없습니다.

WebForms에서 사람들이 일반적으로이 문제를 해결하는 방법은 Model-View-Presenter와 같은 페이지를 사용하는 것입니다. 페이지는 단지 '멍청한'보기이고 발표자는 논리 (적절한 종속성 주입)가 발생하는 곳입니다.

체크 아웃 http://webformsmvp.com/ - IoC 예제와 Autofac 지원이 제공됩니다.