2012-07-11 22 views
6

Tôi có hai thành phần. Một là ứng dụng Window và khác là Window Service.
Ứng dụng cửa sổ ghi vào Hàng đợi Tin nhắn (MSMQ) và Dịch vụ đang đọc và xử lý thông báo.
nên phục vụ luôn luôn tiếp tục tìm kiếm phải xếp hàng cho tin nhắn mới ... Về mã nên tôi
sử dụng vô hạn while vòng lặp hoặc một Timer
HOẶC
có bất kỳ sự kiện hay gọi lại trên hàng đợi cho tin nhắn mới thêm vào hàng đợi? Vì vậy, khi ứng dụng cửa sổ thêm một tin nhắn mới vào hàng đợi, Dịch vụ có thể biết.
Điều này tất cả tôi yêu cầu để làm cho ứng dụng của tôi hiệu quả vì vậy nếu có bất kỳ cách nào khác để đạt được điều này bạn có thể đề nghị.
Cảm ơn bạn đã đọclà có bất kỳ sự kiện hoặc gọi lại trên MSMQ cho thư mới được thêm vào hàng đợi

Trả lời

11

Bạn không cần bất kỳ sự kiện hoặc vòng lặp nào. Phương pháp Receive sẽ đọc từ hàng đợi và nếu hàng đợi trống, nó sẽ chặn cho đến khi một tin nhắn mới được thêm vào. Nếu bạn cần làm điều gì khác trong thời gian chờ đợi, hãy đặt mã nhận trong một chuỗi riêng biệt.

Bạn cũng có thể sử dụng phương pháp không đồng bộ bằng cách sử dụng BeginReceive. Điều này sẽ thực sự nâng cao một sự kiện khi tin nhắn đã được đọc từ hàng đợi.

Các vấn đề liên quan