1
필요한 것은 각 DLL의 특정 이벤트 유형에 대한 구체적인 클래스를 등록하는 것입니다.dll 초기화 도구 메서드
public interface IDomainEventHandler<T> where T : IDomainEvent
{
void Handle(T domainEvent);
}
내가 인해 동일한 핸들러를 등록하고 다시하고 다시 상속 클래스에서 실행하기 때문에, EventHandlers를 검색하고 싶지 않아,하지만 각 DLL의 초기화 방법을 부탁은 structuremap의 bootsrapper에서 호출합니다. 어셈블리 (DLL) 현명한 초기화 기능을 추가 그래서
public void SetEntityEventHandlers()
{
ObjectFactory.Initialize(x =>
{
x.For<IEntityBeforeUpdateEvent<Person>>()
.Add<PersonBizObj>();
x.For<IEntityBeforeUpdateEvent<Person>>()
.Add<EmployeeBizObj>();
//lets say I have a ManagerBizObj which inherits from EmployeeBizObj and I do not want it in the //event handler loop
}
}
그래서 StructureMap이 일을하는 편리한 방법이 있나요 같은 것을 포함 할 것이다 각 DLL (모듈)에
?
나는 확실하지 않다, 그것을 실행하기에 충분한 내용은 "레지스트리"서브 클래스된다
부트 스트 래퍼 클래스는 다음과 같은 코드가? – hazimdikenli
부트 스트 래퍼는 각 레지스트리를 추가해야합니다. http://docs.structuremap.net/RegistryDSL.htm#section2를 참조하십시오. –