모든 메시지에 쓸모없는 IMessage 마커 인터페이스를 구현하지 않고도 누구도 NServiceBus를 사용하는 현명한 방법을 찾지 못했습니까?IMessage/NServiceBus 참조로 내 솔루션을 스팸하지 않는 NServiceBus
특히 DomainEvents를 사용할 때 내 도메인을 특정 servce 버스 구현에 연결하는 것을 싫어할 것입니다.
모든 메시지에 쓸모없는 IMessage 마커 인터페이스를 구현하지 않고도 누구도 NServiceBus를 사용하는 현명한 방법을 찾지 못했습니까?IMessage/NServiceBus 참조로 내 솔루션을 스팸하지 않는 NServiceBus
특히 DomainEvents를 사용할 때 내 도메인을 특정 servce 버스 구현에 연결하는 것을 싫어할 것입니다.
NessviceBus가 이러한 형식을 serializer에 자동으로 등록 할 수 있도록 IMessage 인터페이스가 필요합니다. 도메인 이벤트를 사용할 때는 버스 이벤트를 직접 게시하지 않는 것이 좋습니다. 도메인 이벤트 핸들러는 서비스 이벤트 (IMessage를 상속받는 이벤트)로 변환합니다.
NSB 마커 인터페이스를 구현하는 자체 인터페이스를 만든 다음 NSB 종속성을 자신의 DLL에 ILMerge 할 수 있습니다. 이렇게하면 자신의 DLL에 대한 참조 만 필요하고 NSB에 대한 외부 참조는 필요하지 않습니다.
NSB는하지만이 방법의 함정을 확인해야 아이디어를 확장 할 수 있어야한다, 그래서 자신의 종속성을 무엇그것 - 우디 최근
여섯 개월 그것에 대해 블로그 나중에이 문제 (수정/개선)에 대해 아직 아무것도 아니 ??
가능한 해결책 : 1) ILMerge 또는 .. 2) 사용자 정의 랩핑 메시지 용 사용자 정의 디스패처.
이 모든 것이 IMessage 마커 인터페이스 때문입니다.
Udi가 NServiceBus 3.0에 Unobtrusive Mode을 추가하는 것으로 나타났습니다. 문제를 해결할 것입니다 나타납니다. sample writeup도 있지만 2012 년 2 월 현재 github에서 최신 소식을 가져와야합니다. 순수한 POCO 메시지를 얻을 수있는 잠재적 인 불안정성을 기꺼이 감수하려면 기꺼이 시도해보십시오.
안녕하세요, 빠른 답장을 보내 주셔서 감사합니다! 물론 마커 인터페이스입니다.하지만 메시지를 서비스하기 위해 도메인 메시지를 반복해야 할 경우, 1 : 1의 95 %의 시간이 걸립니다. 나는 그것을 피하고 싶습니다. 타이핑은 제 최고의 기술이 아닙니다. 유효한 메시지 (MEF, 이름 공간, 클래스 접미사, 내 자신의 인터페이스 ...)를 인식하는 방법을 버스에 알려주는 일종의 플러그 가능한 컨벤션 모듈이 있다면 좋을 것입니다. 저는 PostSharp와 같은 제작자를 사용하려고 생각하고 있습니다 만,이 솔루션에 또 다른 수준의 복잡성을 추가하는 것은 싫어합니다. – Jan
AutoMapper와 같은 것을 사용할 수 있습니다. –
나는 그 생각을 좋아한다. MI가있는 경우에만 ... – Jan