MSMQ로 메시지를 보내도록 WCF 서비스를 만들었습니다. 메시지가 전송 된 것처럼 보이지만 대기열을 볼 때 그 메시지가없는 것처럼 보입니다. 확인했는데 대기열이 트랜잭션 대기열이 아닙니다. 모든 사람들이 메시지를 보낼 수 있도록 보안이 열려 있지만 보안을 설정할 다른 장소가 있는지 궁금합니다. 여기에 내가 사용하고있는 코드가있다.WCF 서비스를 사용하여 MSMQ에 메시지 보내기
Dim mq As MessageQueue
Dim msg As Message
Dim queueName As String = "webdevbvm.labsafety.com\emailsubscriptions"
Try
msg = New Message("Test")
msg.Priority = MessagePriority.Highest
If (MessageQueue.Exists(queueName)) Then
mq = New MessageQueue(queueName)
msg.ResponseQueue = mq
msg.UseJournalQueue = True
msg.Label = "Test Message"
msg.Body = "This is only a test"
mq.Send(msg)
Console.WriteLine("Message sent.")
End If
Catch ex As MessageQueueException
Console.WriteLine("MSMQ Error: " + ex.ToString())
Catch ex As Exception
Console.WriteLine("Error: " + ex.ToString())
Finally
mq.Close()
End Try
오류는 발생하지 않지만 프로그램을 실행중인 컴퓨터의 보내는 큐에 메시지가 표시됩니다. 그것은 대기열이 존재하는 것을 보여줍니다. 그리고 존재하지 않는 대기열 이름을 변경하면 IF 문에 들어 가지 않습니다. 그래서 대기열을보고있는 것이 파일을 보내지 않고 있다는 것을 알 수 있습니다. 도움이된다면 랩톱에서 프로그램을 로컬로 실행하고 대기열은 Windows 2003 서버에서도 전송됩니다. 나에게 WCF 서비스처럼 보이지 않는
"보낸 메시지"가 표시됩니까? 당신의 console.writeline 명령에서? –
대기열이 없으면 어떻게됩니까? ru-roh ...... 붐. (psst : 대기열을 만들려면 수표를 추가하십시오 (존재하지 않는 경우) 또는 오류로 처리하십시오). –
WCF 관련 태그가 제거되었습니다 – SteveC