상세 컨텐츠

본문 제목

MSMQ 메시지 보내는 방법

C#/MSMQ

by 탑~! 2012. 3. 5. 14:23

본문

.NET에서 뿐만 아니라 MSMQ를 프로그래밍으로 송신하려고 할 때,

보통 FormatName을 사용하는데, 그 형식은 다음과 같다.

 

FormatName:Direct=OS:[Machine_Name]\Private$\[Queue_Name]

FormatName:Direct=TCP:[IP_Address]\Private$\[Queue_Name]

 

그런데, OS:를 사용할 때는 꼭 NetBIOS에 정해진 컴퓨터의 실제 이름이거나 Active Directory에 등록된 실제 도메인 호스트 이름이어야만 메시지가 전달이 되는 문제가 있다. 언제가 문제냐면, 이름 하나로 두 대 이상으로 보내고 싶을 때. (로드 밸런싱을 하는 경우 되겠다)

뭐, 그냥 TCP:를 써서 IP주소를 입력하면 간단하겠지만, IP주소가 틈틈이 변경이 될 수 있는 상황이라면 대략 낭패.

 

그런 경우에는 받는 컴퓨터들에 다음 레지스트리 설정해주면 가볍게 끝난다.

 

HKLM\Software\Microsoft\MSMQ\Parameters\IgnoreOsNameVal!idation 값을 만들고 (REG_DWORD), 값을 1을 넣어주면 된다.

 

참고: http://support.microsoft.com/default.aspx?scid=kb;en-us;306785

출처 : 
http://blog.daum.net/thermidor/5174923 

'C# > MSMQ' 카테고리의 다른 글

MSMQ Sample  (0) 2012.03.06

관련글 더보기