Używam metody PeekBatch(<messageCount>)
na QueueClient
(pakiet Windows Azure Service Bus 2.1.2.0).Blokada kolejki usługi Azure blokowania PeekBatch Azure?
To działa dobrze za pierwszym razem i zwraca moją pojedynczą wiadomość, która istnieje w mojej kolejce, ale kolejne wywołania nic nie zwracają. Po pięciu minutach połączenie ponownie odeśle wiadomość.
Pięć minut to maksymalny czas blokady na BrokeredMessage
, więc zastanawiam się, czy PeekBatch
rzeczywiście blokuje te wiadomości tak, jak robi to na odbierającym, mimo że podgląd nie powinien się blokować, o ile wiem.
Próbuję zbudować widok MVC, aby móc zobaczyć, co aktualnie siedzi w mojej kolejce, ale ten wchodzi w drogę. Czy ktoś może udzielić wskazówek na ten temat?
Aktualizacja: To tylko wydaje się dzieje, kiedy pamięć podręczna QueueClient
przy użyciu właściwości statycznych. Jeśli za każdym razem utworzę świeżą QueueClient
, PeekBatch
działa zgodnie z oczekiwaniami. Wciąż nie mam pojęcia, dlaczego powoduje to ponowne użycie QueueClient
. Microsoft seems to recommend reusing the QueueClient
though, zamiast odtwarzać go za każdym razem, więc nadal jestem w tej sytuacji zagubiony.
Świetna odpowiedź! To działało dokładnie tak, jak opisałeś, a teraz żałuję, że nie próbowałem tego przeciążenia, które już minęło. :) Dokumenty MSDN powinny mieć trochę więcej informacji na temat metod podglądu. Może spróbuję dodać komentarz. – Michael