2012-03-19 2 views
0

MSMQ를 통해 클라이언트에 보내야하는 다른 유형의 메시지가 있습니다. 내가 코드를 작성하는 솔루션을 원하는만큼 WCF를 사용하지 않습니다. 메시지를 조사 할 때 메시지 본문 유형에 따라 IFormatter를 설정하는 것이 이상적이므로 클라이언트에서 메시지를받을 때 메시지 본문의 데이터 형식을 어떻게 구별 할 수 있습니까? 고맙습니다.MSMQ를 통해 다른 유형의 메시지를 보내려면 어떻게해야합니까?

답변

2

보낼 메시지 형식을 제어 할 수있는 경우 'type'특성을 사용하여 고정 된 컨테이너에 각 메시지 본문을 래핑 할 수 있습니다. 그런 다음 컨테이너를 deserialize하고 'type'속성을 기반으로 실제 포함 된 메시지의 비 직렬화를 처리하는 방법을 결정할 수 있습니다.

<dataContainer type="XYZ"> 
<!-- put your actual message content here inside a CDATA section --> 
</dataContainer> 
1

일반적으로 여러 유형의 메시지가있는 경우 여러 대기열을 사용합니다. 나중에 특정 유형의 메시지 만 대기열에서 제외 할 수 있고 처리중인 메시지 유형에 대해 혼란을 야기 할 수있는 잠재적 문제를 피할 수 있습니다.

이미 하나의 대기열에서 인프라를 사용하고 있다면 다른 대기열을 추가하는 것이 최소한의 노력이어야합니다.

+1

유형간에 메시지 순서가 중요하지 않은 경우에만 작동합니다. –

관련 문제