c# 메시지큐 예제

지정된 상관 관계 식별자(비트랜잭션 큐)와 일치하는 메시지를 수신하고 지정된 상관 관계 식별자가 있는 메시지를 큐에서 사용할 수 있거나 시간 만료가 만료될 때까지 기다립니다. 다음 코드 코드 조각에서는 LogMessage 클래스의 인스턴스를 만들고, 데이터로 채웁니다.` 및 메시지 큐에서 만든 인스턴스를 저장 하기 위해 SendMessage 메서드를 호출 하는 방법을 보여 줍니다. MSMQ 3.0에 도입되었습니다. 비트랜잭션 큐에서 지정된 조회 식별자와 일치하는 메시지를 엿봅니다. 다음 코드 예제에서는 큐에 메시지를 보내고 Order라는 응용 프로그램 별 클래스를 사용하여 큐에서 메시지를 받습니다. 메시지 큐는 플랫폼 전체에 메시지를 게시하는 기술이며 안정적이고 확장 가능하며 간단하며 스레드가 안전하며 디버깅이 편리합니다. MSMQ를 사용하면 이기종 네트워크와 플랫폼에 메시지를 게시할 수 있습니다. MS-Queue는 동일한 컴퓨터 나 네트워크의 소프트웨어 응용 프로그램(예: 다른 세션)에서 소프트웨어 응용 프로그램 간의 데이터 교환을 용이하게 하는 흥미로운 메커니즘을 제공하는 Windows 구성 요소입니다. MS-큐는 운영 체제 수준에서 FIFO 큐로 작동합니다. 큐를 통해 교환되는 데이터는 텍스트, 이미지, 직렬화된 개체 등 무엇이든 될 수 있습니다. 프로젝트 유형을 선택하는 것은 선택 사항입니다, 예를 들어, 그것은 될 수 있습니다 윈도우 응용 프로그램 또는 WPF 게시자로 큐를 만들고 그것에 메시지를 보낼, 당신은 다음 코드 조각을 사용할 수 있습니다.

System.Messaging.Message[] 메시지 = 메시지큐.GetAllMessages(); 3. 이제 우리는 우리의 요구 사항에 따라 프로그래밍 방식으로 큐를 만들어야합니다. 그래서 지금 코드에 그것의 시간.4. C#: messageQueue.Send(“테스트 메시지입니다.”, “IDG”)를 사용하여 MSMQ를 만드는 방법). 개인 정적 void SendMessage (문자열 큐이름, LogMessage msg) 위의 기능은 이 응용 프로그램을 사용하는 연산자 또는 사용자가 백그라운드에서 일어나는 실제 프로세스를 인식하지 못하기 때문에 비동기인 큐에 데이터를 보내는 데 도움이됩니다. 이제 데이터가 도착하면 MSMQ 콜백 처리기가 메시지를 수신하고 “적절한 데이터로 메일 보내기”의 실제 프로세스를 수행합니다.billingQ.ReceiveCompleted += billingQ _ReceiveCompleted; 위의 코드 줄은 MSMQ가 새 항목 또는 메시지가 이 큐에 배치되는 즉시 메시지를 수신하도록 지시합니다. 다음 함수는 프런트 엔드(응용 프로그램)에서 보낸 메시지를 수신하는 데 사용됩니다.void billingQ _ReceiveCompleted(개체 보낸 자, ReceiveCompletedEventArgs e) 시간 시간이 없는 비동기 엿보기 작업을 시작합니다. 큐에서 메시지를 사용할 수 있게 될 때까지 작업이 완료되지 않습니다. logMessage = (로그 메시지)메시지큐.수신()을 입력합니다. 몸; MSMQ(Microsoft 메시징 큐) 기술은 메시지를 사용하는 비동기 통신에 사용됩니다. MSMQ는 또한 프로세스 간 통신 기능으로 간주될 수 있습니다. 두 프로세스가 “Fire and Forget” 방식으로 서로 통신하기를 원할 때마다 MSMQ는 매우 유용합니다.

사용예를 들어 결제 소프트웨어가 자정에 1000 개의 청구서를 처리해야하고 모든 사용자에게 메일을 보내야하는 경우. 운영자가 소프트웨어를 실행하는 경우와 같이 그는 즉시 알림을 원한다. 운영자는 모든 청구서가 처리될 때까지 기다릴 수 없으며 전자 메일을 받습니다. 여기서 MSMQ는 1000대 고객 이메일 정보를 Queue로 전송하는 결제 소프트웨어로 통신하는 데 중요한 역할을 하며 Queue 이벤트 처리기는 요청을 처리합니다.