Azure.Messaging.ServiceBus Przykład w języku C# (Jak to działa)
W dzisiejszym, połączonym cyfrowym świecie skuteczna komunikacja jest podstawą sukcesu biznesowego. Niezależnie od tego, czy chodzi o przesyłanie krytycznych danych między aplikacjami, czy zapewnienie aktualizacji w czasie rzeczywistym w systemach rozproszonych, niezawodna infrastruktura komunikacyjna jest niezbędna.
Azure Service Bus, usługa przesyłania wiadomości w chmurze, staje się solidnym rozwiązaniem umożliwiającym programistom tworzenie skalowalnych, oddzielonych i odpornych aplikacji. Zagłębmy się w świat Azure Service Bus, aby zrozumieć jego znaczenie i poznać jego niezliczone możliwości. W dalszej części tego artykułu przyjrzymy się również IronPDF, służącemu do zarządzania, generowania i odczytu dokumentów PDF.
Zrozumienie usługi Azure Service Bus
Azure Service Bus to w pełni zarządzany broker komunikatów integracyjnych dla Enterprise, który ułatwia niezawodną komunikację między aplikacjami i usługami, niezależnie od tego, czy działają one w chmurze, lokalnie czy w środowiskach hybrydowych.
Zapewnia elastyczne możliwości przesyłania komunikatów, w tym mechanizmy kolejkowania oraz publikowania i subskrypcji, umożliwiające płynną komunikację między różnorodnymi komponentami systemu rozproszonego. Dodatkowo umożliwia wysyłanie wiadomości zbiorczych, co pozwala na wysyłanie wielu wiadomości bez przekraczania ograniczenia całkowitego rozmiaru.
Azure Service Bus oferuje następujące korzyści:
- Oddzielanie aplikacji: Service Bus pozwala na oddzielenie aplikacji i usług od siebie. Takie oddzielenie zwiększa niezawodność i skalowalność.
- Load Balancing: Rozprowadza obciążenie między konkurującymi procesami, zapewniając efektywne wykorzystanie zasobów.
- Przesyłanie komunikatów: Dane są przesyłane między aplikacjami i usługami za pomocą komunikatów. Treść tych komunikatów może zawierać różne typy danych, takie jak JSON, XML lub zwykły tekst.
- Scenariusze komunikacyjne: Typowe scenariusze obejmują przesyłanie danych biznesowych (np. zamówień sprzedaży), równoważenie obciążenia oraz umożliwianie relacji między wydawcami a subskrybentami przy użyciu tematów i subskrypcji.
- Transakcje: Service Bus obsługuje transakcje atomowe, umożliwiając wykonywanie wielu operacji w ramach jednej transakcji. Transakcja obejmuje wiele równoczesnych wywołań, podczas gdy partia komunikatów obejmuje jedno wywołanie.
- Sesje komunikatów: Ułatwiają koordynację przepływów pracy na dużą skalę oraz uporządkowany transfer komunikatów.
Kluczowe cechy i możliwości
-
Kolejki i tematy: Azure Service Bus oferuje zarówno kolejki, jak i tematy jako kanały komunikacyjne. Kolejki umożliwiają komunikację punkt-punkt, gwarantując, że każda wiadomość jest przetwarzana tylko przez jednego odbiorcę, co czyni je idealnym rozwiązaniem w scenariuszach dystrybucji obciążenia i wyrównywania obciążenia. Z drugiej strony, tematy obsługują wzorce komunikacyjne typu publish/subscribe, umożliwiając wielu subskrybentom niezależne odbieranie odpowiednich komunikatów oraz ułatwiając tworzenie skalowalnych architektur sterowanych zdarzeniami.
-
Niezawodne dostarczanie komunikatów: Dzięki Azure Service Bus dostarczanie komunikatów jest z natury niezawodne. Zapewnia trwałość komunikatów, umożliwia konfigurację obsługi komunikatów i błędów, odporność na awarie oraz semantykę dostarczania "przynajmniej raz", minimalizując ryzyko utraty lub duplikacji danych. Ponadto obsługuje transakcje, umożliwiając operacje atomowe w wielu komunikatach, zapewniając w ten sposób integralność danych.
-
Zasady dotyczące wiadomości nieodebranych i ponownych prób: Aby skutecznie radzić sobie z błędnymi komunikatami, usługa Azure Service Bus zapewnia funkcje obsługi wiadomości nieodebranych, umożliwiające automatyczne przenoszenie problematycznych komunikatów do oddzielnej kolejki w celu analizy i rozwiązywania problemów. Ponadto oferuje elastyczne zasady ponawiania prób, umożliwiając programistom konfigurację automatycznych ponownych prób z wykorzystaniem strategii wykładniczego cofania się, co zwiększa odporność aplikacji w obliczu przejściowych awarii.
-
Partycjonowanie i skalowanie: Azure Service Bus obsługuje partycjonowanie jednostek komunikacyjnych w celu rozłożenia obciążenia na wiele węzłów, zapewniając skalowalność horyzontalną i wysoką przepustowość. Ta funkcja ma kluczowe znaczenie dla obsługi dużych ilości komunikatów i dostosowywania się do zmiennego obciążenia bez utraty wydajności lub niezawodności.
- Integracja z ekosystemem Azure: Azure Service Bus płynnie integruje się z innymi usługami Azure, takimi jak Azure Functions, Logic Apps, Event Grid i Azure Kubernetes Service (AKS), umożliwiając programistom łatwe tworzenie kompleksowych rozwiązań. Niezależnie od tego, czy chodzi o uruchamianie funkcji bezserwerowych w odpowiedzi na przychodzące wiadomości, czy koordynowanie złożonych przepływów pracy za pomocą aplikacji Logic Apps, usługa Azure Service Bus stanowi podstawę do tworzenia solidnych, sterowanych zdarzeniami architektur.
Wprowadzenie do IronPDF

IronPDF to potężna biblioteka C# do obsługi plików PDF, która pozwala generować, edytować i wyodrębniać treści z dokumentów PDF w projektach .NET. Oto kilka kluczowych funkcji:
-
Konwersja HTML do PDF:
-
Konwersja treści HTML, CSS i JavaScript do formatu PDF.
-
Użyj silnika renderującego Chrome, aby uzyskać pliki PDF o idealnej rozdzielczości.
- Generuj pliki PDF z adresów URL, plików HTML lub ciągów znaków HTML.
-
-
Konwersja obrazów i treści:
-
Konwertuj obrazy do i z formatu PDF.
-
Wyodrębnianie tekstu i obrazów z istniejących plików PDF.
- Obsługa różnych formatów obrazów.
-
-
Edycja i obróbka:
-
Ustawianie właściwości, zabezpieczeń i uprawnień dla plików PDF.
-
Dodaj podpisy cyfrowe.
- Edytuj metadane i historię zmian.
-
-
Obsługa wielu platform:
-
Działa z .NET Core (8, 7, 6, 5 i 3.1+), .NET Standard (2.0+) oraz .NET Framework (4.6.2+).
-
Kompatybilny z systemami Windows, Linux i macOS.
- Dostępne w serwisie NuGet, co ułatwia instalację.
-
Wygeneruj dokument PDF przy użyciu IronPDF i Azure.Messaging.ServiceBus
Na początek utwórz aplikację konsolową za pomocą programu Visual Studio, jak pokazano poniżej.

Podaj nazwę projektu

Podaj wersję .NET


Tworzenie usługi Azure Service Bus
Utwórz przestrzeń nazw o unikalnej nazwie w całym środowisku Azure. Przestrzeń nazw to kontener na zasoby Service Bus, takie jak kolejki i tematy w Twojej aplikacji.
Oto jak utworzyć przestrzeń nazw:
- Zaloguj się do portalu Azure.
- Przejdź do strony "Wszystkie usługi".
- W lewym panelu nawigacyjnym wybierz "Integracja" z listy kategorii.
- Najedź kursorem na "Service Bus" i kliknij przycisk "+" na kafelku Service Bus.

Aby skonfigurować kartę Podstawowe na stronie Utwórz przestrzeń nazw, wykonaj następujące czynności:
- Subskrypcja: Wybierz subskrypcję platformy Azure, w której chcesz utworzyć przestrzeń nazw.
-
Grupa zasobów: Wybierz istniejącą grupę zasobów, w której będzie znajdować się przestrzeń nazw, lub utwórz nową.
-
Nazwa przestrzeni nazw: Wprowadź nazwę przestrzeni nazw. Upewnij się, że nazwa spełnia następujące kryteria:
-
Musi być unikalne w całym środowisku Azure.
-
Długość musi wynosić od 6 do 50 znaków.
-
Może zawierać wyłącznie litery, cyfry i łączniki "-".
-
Musi zaczynać się od litery i kończyć literą lub cyfrą.
- Nie może kończyć się na "-sb" ani "-mgmt".
-
- Lokalizacja: Wybierz region, w którym ma być hostowana Twoja przestrzeń nazw.
-
Poziom cenowy: Wybierz poziom cenowy (Basic, Standard lub Premium) dla przestrzeni nazw. W tym przykładzie wybierz opcję Standard.
- Wybierz opcję "Sprawdź i utwórz" na dole strony.

-
Wybierz opcję Utwórz na stronie Przeglądaj + Utwórz.
- Po pomyślnym wdrożeniu zasobu przejdź do niego.
Widzisz stronę główną swojej przestrzeni nazw Service Bus.
Tworzenie kolejek Service Bus w portalu Azure
Aby skonfigurować kolejkę w przestrzeni nazw Service Bus, wykonaj następujące czynności:
- Przejdź do kolejki: Przejdź do strony Przestrzeń nazw Service Bus w portalu Azure. Wybierz "Kolejki" z menu nawigacyjnego po lewej stronie.
- Utwórz nową kolejkę: Na stronie Kolejki kliknij przycisk "+ Kolejka" na pasku narzędzi.
-
Skonfiguruj kolejkę: Wpisz nazwę swojej kolejki w odpowiednim polu. Pozostałe ustawienia pozostaw w wartościach domyślnych. Opcje, które należy skonfigurować podczas tworzenia kolejki Azure Service Bus:
-
Nazwa: Jest to unikalny identyfikator Twojej kolejki. Wybierz nazwę, która jest opisowa i łatwa do zapamiętania.
-
Maksymalny rozmiar kolejki: Określa maksymalną pojemność pamięci kolejki. Można ustawić 1 GB, 2 GB, 5 GB, 10 GB, 20 GB, 40 GB, 80 GB lub 100 GB. W tym przypadku jest to ustawione na 1 GB.
-
Maksymalna liczba dostaw: Określa maksymalną liczbę prób dostarczenia wiadomości, zanim zostanie ona przesłana do kolejki wiadomości nieudanych lub odrzucona. Pomaga to w radzeniu sobie z błędami przetwarzania komunikatów.
-
Czas życia komunikatu (TTL): Określa, jak długo komunikat pozostaje w kolejce, zanim wygaśnie. Można to ustawić w dniach, godzinach, minutach i sekundach. Po upływie czasu TTL wiadomości typu dead letter są albo odrzucane, albo przenoszone do kolejki dead-letter, jeśli funkcja dead-lettering jest włączona.
-
Czas blokady: Jest to czas, przez jaki wiadomość jest zablokowana w celu przetworzenia przez odbiorcę. W tym czasie inni odbiorcy nie mogą przetwarzać tej samej wiadomości. Czas trwania można ustawić w dniach, godzinach, minutach i sekundach.
-
Włącz opcję Dead Lettering przy wygaśnięciu wiadomości: Po włączeniu tej opcji wiadomości, które wygasły (tj. przekroczyły swój czas życia TTL), są przenoszone do kolejki dead-letter zamiast być odrzucane. Umożliwia to dalszą kontrolę i obsługę przeterminowanych komunikatów.
- Włącz partycjonowanie: Ta opcja umożliwia partycjonowanie kolejki na wielu brokerach komunikatów, co może poprawić skalowalność i przepustowość. Partycjonowanie jest przydatne przy obsłudze dużych ilości wiadomości.
-
Te ustawienia pomagają kontrolować zachowanie i wydajność kolejki Azure Service Bus, zapewniając jej zgodność z wymaganiami aplikacji.

- Zakończ tworzenie: Kliknij przycisk "Utwórz", aby sfinalizować tworzenie kolejki. Te kroki gwarantują pomyślne utworzenie kolejki w przestrzeni nazw Service Bus przy użyciu portalu Azure.
Zainstaluj bibliotekę kliencką Service Bus — Azure.Messaging.ServiceBus — aby połączyć się z kolejką Azure za pomocą ciągu połączenia.

Dodaj poniższy kod, aby wysyłać i odbierać wiadomości za pomocą Azure.Messaging.ServiceBus.
using Azure.Messaging.ServiceBus;
namespace CodeSample
{
public static class AzureServiceBusDemo
{
public static async Task Execute()
{
string connectionString = "Endpoint=sb://iron-articles.servicebus.windows.net/;SharedAccessKeyName=all;SharedAccessKey=uqQIzpuc2HxbnAb9keqTINvzfTcFbkkU0+ASbJZ/tow=;EntityPath=ironpdf";
string queName = "ironpdf";
Console.WriteLine("Demo IronPDF with Azure.Messaging.ServiceBus");
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo IronPDF with Azure.Messaging.ServiceBus</h1>";
content += "<h2>Send Message to Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
await using var client = new ServiceBusClient(connectionString);
var msgText = "IronPDF is Awesome Package";
content += $"<p>Message: {msgText}</p>";
var tx = client.CreateSender(queName);
await tx.SendMessageAsync(new ServiceBusMessage(msgText)); // Send message to the queue
Console.WriteLine($"Sent Below message at: {DateTime.Now}");
content += $"<p>Sent Below message at: {DateTime.Now}</p>";
Console.ReadLine(); // wait for user input to read the message;
var rx = client.CreateReceiver(queName);
var msg = await rx.ReceiveMessageAsync(); // receive messages
content += "<h2>Receive Message from Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
content += $"<p>Recieved Below message at: {DateTime.Now}</p>";
Console.WriteLine($"Recieved Below message at: {DateTime.Now}");
content += $"<p>MessageID={msg.MessageId}</p>";
Console.WriteLine($"MessageID={msg.MessageId}");
content += $"<p>Message Received: {msg.Body}</p>";
Console.WriteLine($"Message Received: {msg.Body}");
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeAzureServiceBusQueueAndIronPdf.pdf");
}
}
}
using Azure.Messaging.ServiceBus;
namespace CodeSample
{
public static class AzureServiceBusDemo
{
public static async Task Execute()
{
string connectionString = "Endpoint=sb://iron-articles.servicebus.windows.net/;SharedAccessKeyName=all;SharedAccessKey=uqQIzpuc2HxbnAb9keqTINvzfTcFbkkU0+ASbJZ/tow=;EntityPath=ironpdf";
string queName = "ironpdf";
Console.WriteLine("Demo IronPDF with Azure.Messaging.ServiceBus");
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
var content = "<h1>Demo IronPDF with Azure.Messaging.ServiceBus</h1>";
content += "<h2>Send Message to Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
await using var client = new ServiceBusClient(connectionString);
var msgText = "IronPDF is Awesome Package";
content += $"<p>Message: {msgText}</p>";
var tx = client.CreateSender(queName);
await tx.SendMessageAsync(new ServiceBusMessage(msgText)); // Send message to the queue
Console.WriteLine($"Sent Below message at: {DateTime.Now}");
content += $"<p>Sent Below message at: {DateTime.Now}</p>";
Console.ReadLine(); // wait for user input to read the message;
var rx = client.CreateReceiver(queName);
var msg = await rx.ReceiveMessageAsync(); // receive messages
content += "<h2>Receive Message from Azure.Messaging.ServiceBus Queue: ironpdf</h2>";
content += $"<p>Recieved Below message at: {DateTime.Now}</p>";
Console.WriteLine($"Recieved Below message at: {DateTime.Now}");
content += $"<p>MessageID={msg.MessageId}</p>";
Console.WriteLine($"MessageID={msg.MessageId}");
content += $"<p>Message Received: {msg.Body}</p>";
Console.WriteLine($"Message Received: {msg.Body}");
var pdf = renderer.RenderHtmlAsPdf(content);
// Export to a file or Stream
pdf.SaveAs("AwesomeAzureServiceBusQueueAndIronPdf.pdf");
}
}
}
Imports Azure.Messaging.ServiceBus
Namespace CodeSample
Public Module AzureServiceBusDemo
Public Async Function Execute() As Task
Dim connectionString As String = "Endpoint=sb://iron-articles.servicebus.windows.net/;SharedAccessKeyName=all;SharedAccessKey=uqQIzpuc2HxbnAb9keqTINvzfTcFbkkU0+ASbJZ/tow=;EntityPath=ironpdf"
Dim queName As String = "ironpdf"
Console.WriteLine("Demo IronPDF with Azure.Messaging.ServiceBus")
Installation.EnableWebSecurity = True
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
Dim content = "<h1>Demo IronPDF with Azure.Messaging.ServiceBus</h1>"
content &= "<h2>Send Message to Azure.Messaging.ServiceBus Queue: ironpdf</h2>"
Await var client = New ServiceBusClient(connectionString)
Dim msgText = "IronPDF is Awesome Package"
content &= $"<p>Message: {msgText}</p>"
Dim tx = client.CreateSender(queName)
Await tx.SendMessageAsync(New ServiceBusMessage(msgText)) ' Send message to the queue
Console.WriteLine($"Sent Below message at: {DateTime.Now}")
content &= $"<p>Sent Below message at: {DateTime.Now}</p>"
Console.ReadLine() ' wait for user input to read the message;
Dim rx = client.CreateReceiver(queName)
Dim msg = Await rx.ReceiveMessageAsync() ' receive messages
content &= "<h2>Receive Message from Azure.Messaging.ServiceBus Queue: ironpdf</h2>"
content &= $"<p>Recieved Below message at: {DateTime.Now}</p>"
Console.WriteLine($"Recieved Below message at: {DateTime.Now}")
content &= $"<p>MessageID={msg.MessageId}</p>"
Console.WriteLine($"MessageID={msg.MessageId}")
content &= $"<p>Message Received: {msg.Body}</p>"
Console.WriteLine($"Message Received: {msg.Body}")
Dim pdf = renderer.RenderHtmlAsPdf(content)
' Export to a file or Stream
pdf.SaveAs("AwesomeAzureServiceBusQueueAndIronPdf.pdf")
End Function
End Module
End Namespace
Wyjaśnienie kodu
-
Ciąg połączenia i nazwa kolejki:
-
Zmienna
connectionStringzawiera szczegóły połączenia dla przestrzeni nazw usługi Azure Service Bus. Określa punkt końcowy, wspólny klucz dostępu oraz ścieżkę encji (nazwę kolejki). - Zmienna
queNamezawiera nazwę kolejki Service Bus, z którą chcesz pracować.
-
-
Konfiguracja wersji demonstracyjnej:
-
Kod rozpoczyna się od wyświetlenia komunikatu: "Demo IronPDF z Azure.Messaging.ServiceBus".
- Zapewnia bezpieczeństwo sieciowe przy użyciu
Installation.EnableWebSecurity = true;.
-
-
Tworzenie klienta Service Bus:
-
ServiceBusClientjest tworzony przy użyciu podanego ciągu połączenia. - Ten klient umożliwia interakcję z elementami Service Bus (kolejkami, tematami itp.).
-
-
Wysyłanie wiadomości:
-
Komunikat o treści "IronPDF is Awesome Package" jest wysyłany do określonej kolejki przy użyciu metody
CreateSender. -
Komunikat został utworzony przy użyciu
new ServiceBusMessage(msgText). - Sygnatura czasowa wysłanej wiadomości jest wyświetlana w konsoli za pomocą PRINT.
-
-
Otrzymanie wiadomości:
-
Odbiornik jest tworzony dla tej samej kolejki przy użyciu
CreateReceiver. -
Kod oczekuje na dane wprowadzane przez użytkownika (przy użyciu
Console.ReadLine()) w celu symulacji przetwarzania komunikatów. - Po otrzymaniu komunikatu jego identyfikator i treść są wyświetlane w konsoli.
-
-
Generowanie pliku PDF:
-
Renderer tworzy plik PDF na podstawie treści HTML (w tym wysłanych i odebranych wiadomości).
- Powstały plik PDF jest zapisywany jako "AwesomeAzureServiceBusQueueAndIronPdf.pdf".
-
Wynik


Licencjonowanie IronPDF
Pakiet IronPDF wymaga licencji do uruchomienia i generowania plików PDF. Dodaj poniższy kod na początku aplikacji, zanim nastąpi dostęp do pakietu.
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY";
Imports IronPdf
IronPdf.License.LicenseKey = "IRONPDF-MYLICENSE-KEY"
Licencja Trial jest dostępna na stronie licencji Trial IronPDF.
Wnioski
W erze charakteryzującej się transformacją cyfrową i szybkim postępem technologicznym usługa Azure Service Bus staje się kluczowym elementem procesu modernizacji przedsiębiorstw na całym świecie. Zapewniając niezawodne, skalowalne i elastyczne możliwości przesyłania wiadomości, umożliwia programistom tworzenie odpornych i zwinnych rozwiązań, które mogą dostosowywać się do zmieniających się wymagań biznesowych.
Niezależnie od tego, czy chodzi o ułatwianie płynnej integracji, umożliwianie tworzenia architektur sterowanych zdarzeniami, czy zapewnianie komunikacji asynchronicznej, Azure Service Bus odgrywa przełomową rolę w stymulowaniu innowacji i przyspieszaniu inicjatyw cyfrowych w różnych branżach.
W miarę jak organizacje coraz częściej wdrażają paradygmaty natywne dla chmury i architektury rozproszone, Azure Service Bus stanowi dowód zaangażowania firmy Microsoft w wspieranie programistów i Enterprise w ich drodze do chmury. IronPDF upraszcza generowanie plików PDF w aplikacjach .NET, oferując elastyczność i funkcjonalność przy tworzeniu profesjonalnych dokumentów bezpośrednio z kodu.
Często Zadawane Pytania
Jak mogę przekonwertować HTML na PDF w języku C#?
Możesz użyć metody RenderHtmlAsPdf biblioteki IronPDF do konwersji ciągów HTML na pliki PDF. Dodatkowo możesz użyć metody RenderHtmlFileAsPdf do konwersji plików HTML na pliki PDF.
Czym jest Azure Service Bus i w jaki sposób usprawnia komunikację?
Azure Service Bus to w pełni zarządzany broker komunikatów integracyjnych dla Enterprise, który usprawnia komunikację poprzez ułatwianie niezawodnego przesyłania komunikatów między aplikacjami i usługami, niezależnie od tego, czy są one oparte na chmurze, lokalne, czy działają w środowiskach hybrydowych.
Jakie są główne cechy biblioteki PDF użytej w artykule?
Biblioteka IronPDF oferuje takie funkcje, jak konwersja HTML do PDF, edycja i manipulowanie plikami PDF, konwersja obrazów oraz kompatybilność międzyplatformowa z różnymi .NET Frameworkami i systemami operacyjnymi.
Jak wysyłać wiadomości za pomocą Azure.Messaging.ServiceBus w języku C#?
Aby wysyłać wiadomości za pomocą Azure.Messaging.ServiceBus, należy utworzyć obiekt ServiceBusSender i użyć metody SendMessageAsync do wysłania wiadomości do kolejki.
Jak działa funkcja dead-lettering w Azure Service Bus?
Funkcja dead-lettering w Azure Service Bus automatycznie przenosi wiadomości, których nie można przetworzyć, do oddzielnej kolejki dead-letter, umożliwiając programistom skuteczną analizę i rozwiązywanie problemów związanych z tymi wiadomościami.
Czy Azure Service Bus obsługuje architektury sterowane zdarzeniami?
Tak, Azure Service Bus płynnie integruje się z innymi usługami Azure, takimi jak Azure Functions i Logic Apps, obsługując architektury sterowane zdarzeniami oraz ułatwiając tworzenie skalowalnych i elastycznych rozwiązań do przesyłania wiadomości.
Jak wygląda proces odbierania wiadomości za pomocą Azure.Messaging.ServiceBus?
Aby odbierać wiadomości za pomocą Azure.Messaging.ServiceBus, należy utworzyć obiekt ServiceBusReceiver i użyć metody ReceiveMessageAsync do przetwarzania wiadomości przychodzących z kolejki.
Czy potrzebuję licencji, aby korzystać z biblioteki PDF wspomnianej w artykule?
Tak, IronPDF wymaga licencji do generowania plików PDF. Klucz licencyjny dla aplikacji można uzyskać lub skorzystać z Licencji Trial dostępnej na stronie IronPDF Trial License Page.




