2012-11-16 3 views
1

내가 Windows 서비스에서 호스팅 원격 WCF 서비스를 (netMsmqBinding 사용)에 액세스하려고하고 오류 얻고있다 : 나는 MSMQ가없는 경우이 오류가 올 수 있다는 것을 읽고WCF MSMQ DllNotFoundException

Message: System.TypeInitializationException: The type initializer for 'System.ServiceModel.Channels.Msmq' threw an exception. ---> System.DllNotFoundException:  Unable to load DLL 'mqrt.dll': A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A) 
at System.ServiceModel.Channels.UnsafeNativeMethods.MQGetPrivateComputerInformation(String computerName, IntPtr properties) 

을 설치되어 있지만 msmq는 로컬 컴퓨터에 설치되지 않아야합니다 ... 원격 컴퓨터에 설치되어 있습니다.

다른 원인은 무엇입니까?

답변

0

메시지 전송에 참여하려는 모든 컴퓨터에는 MSMQ를 설치해야합니다.

MSMQ가 전송 장애에 강력한 영향을주는 메시지 인 Store and forward이라는 메시징 패턴을 사용하기 때문입니다.

+0

이의 내가 어떤 윈도우 2008 서버 및 일부 Windows 2003 서버가 있다고 가정 해 봅시다 그들이 MSMQ의 다른 버전이 있기 때문에, 다음 문제가있을 것인가? – user1830197

+0

일부 예외가 발생했습니다 (http://blogs.msdn.com/b/johnbreakwell/archive/2007/06/29/the-message-format-has-changed-in-msmq-4-0-so-re 참조). -test-all-your-applications.aspx) 모든 버전은 서로 호환되어야합니다. –

+0

안녕하세요 사용자 1830197, 여기에 정확히 같은 문제가 있습니다. http://stackoverflow.com/q/18577115/192999. 문제를 어떻게 해결했는지 좀 더 알려주실 수 있습니까? 어떤 도움을 주셔서 감사합니다. – ETFairfax

0

프로그램으로 이동하여 또는 오프 윈도우 기능을 설정 다음 특징합니다. MSMQ (Microsoft Message Queue) 서버을 찾아서 사용하도록 설정합니다.

신용에 : https://stackoverflow.com/a/26705197/782856