.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
MSMQ Sample (0) | 2012.03.06 |
---|