Tôi đang sử dụng phương pháp PeekBatch(<messageCount>)
trên QueueClient
(Gói dịch vụ Windows Azure Gói dịch vụ 2.1.2.0).Hàng đợi dịch vụ Azure PeekBatch khóa?
Lần đầu tiên nó hoạt động tốt và trả lại thư duy nhất của tôi tồn tại trong hàng đợi của tôi, nhưng các cuộc gọi tiếp theo sẽ không trả lại gì. Sau năm phút, cuộc gọi sau đó sẽ trả lại tin nhắn.
Năm phút là thời gian khóa tối đa trên BrokeredMessage
, vì vậy tôi tự hỏi nếu PeekBatch
thực sự đang khóa các tin nhắn như trên nhận, mặc dù nhìn trộm không được khóa, theo như tôi biết.
Tôi đang cố gắng xây dựng chế độ xem MVC để có thể xem những gì đang thực sự nằm trong hàng đợi của tôi, nhưng điều này đang cản trở. Bất cứ ai có thể cung cấp bất kỳ hướng dẫn về điều này?
Cập nhật: Điều này dường như chỉ xảy ra khi tôi lưu bộ nhớ cache QueueClient
bằng thuộc tính tĩnh. Nếu tôi thường xuyên tạo QueueClient
mỗi lần, PeekBatch
sẽ hoạt động như mong đợi. Tôi vẫn không biết tại sao lại sử dụng một số QueueClient
. Microsoft seems to recommend reusing the QueueClient
though, thay vì tạo lại nó mỗi lần, vì vậy tôi vẫn thua lỗ ở đây.
Câu trả lời hay! Điều này làm việc đúng như bạn đã mô tả, và bây giờ tôi ước rằng tôi đã thử quá tải mà đã vượt qua một số không. :) Các tài liệu MSDN nên có thêm một chút thông tin cho các phương pháp nhìn trộm. Có lẽ tôi sẽ cố gắng và thêm một bình luận ở đó. – Michael