Implementujesz pierwszą aplikację subskrybenta dla tematu Azure Service Bus. Portal pokazuje, że wiadomości docierają do subskrypcji, a Ty zainicjowałeś klienta subskrypcji z poprawnymi parametrami, ale aplikacja nadal nie konsumuje wiadomości. Który fragment kodu zapewni, że klient subskrypcji przetworzy przychodzące wiadomości?
Wybierz odpowiedź
Dotknij opcji, aby sprawdzić swoją odpowiedź.
Poprawna odpowiedź: subscriptionClient.RegisterMessageHandler(ProcessMessagesAsync, messageHandlerOptions);.
Dlaczego to jest odpowiedź
Poprawna odpowiedź to subscriptionClient.RegisterMessageHandler(ProcessMessagesAsync, messageHandlerOptions);. Ta metoda rejestruje delegata do asynchronicznego przetwarzania wiadomości i jest niezbędna do aktywnego odbierania i obsługi wiadomości z subskrypcji Service Bus. Bez jej wywołania klient subskrypcji nie będzie wiedział, jak przetwarzać przychodzące wiadomości, nawet jeśli są one dostarczane do subskrypcji. Pozostałe opcje są nieprawidłowe, ponieważ: await subscriptionClient.AddRuleAsync(...) służy do definiowania reguł filtrowania wiadomości, a nie do ich konsumowania. Domyślna reguła (TrueFilter) jest dodawana automatycznie, więc jej jawne dodawanie nie jest wymagane do odbierania wiadomości. subscriptionClient = new SubscriptionClient(...) to inicjalizacja klienta subskrypcji, która została już wykonana zgodnie z opisem problemu. Samo utworzenie klienta nie powoduje rozpoczęcia przetwarzania wiadomości. await subscriptionClient.CloseAsync() służy do zamknięcia połączenia z subskrypcją i zwolnienia zasobów, co uniemożliwiłoby odbieranie wiadomości, zamiast je aktywować.
Zdaj egzamin — bez niekończącego się szukania odpowiedzi
Uzyskaj wszystkie zweryfikowane pytania i wyjaśnienia do tego egzaminu w jednym miejscu i zaoszczędź godziny przygotowań. Ponad 1000 certyfikacji · Ponad 20 języków · Zacznij za darmo.
Zdaj egzamin szybciej → Karta nie jest wymagana