IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

Przykład Rebus .NET Core (jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 21 kwietnia 2026

W skomplikowanym świecie programowania .NET zarządzanie komunikacją asynchroniczną między usługami jest kluczowym aspektem tworzenia solidnych i skalowalnych aplikacji. Poznaj Rebus .NET, potężną bibliotekę, która upraszcza komunikację opartą na komunikatach oraz routing w ekosystemie .NET. Zobaczmy, w jaki sposób Rebus umożliwia programistom wykorzystanie pełnego potencjału magistrali usług i mechanizmów wywoływania usług z kolejką, korzystając z podanych słów kluczowych.

Programiści mogą tworzyć złożone systemy rozproszone z możliwością generowania dokumentów PDF w ramach operacji przesyłania wiadomości, łącząc Rebus .NET z możliwościami IronPDF w zakresie generowania plików PDF. Na przykład system zbudowany przy użyciu Rebus może otrzymać żądanie utworzenia dokumentu PDF, obsłużyć je za pomocą procedur obsługi Rebus, a następnie użyć IronPDF do wygenerowania dokumentu i wysłania odpowiedzi.

Dzięki Rebus i IronPDF programiści mogą tworzyć bogate w funkcje, skalowalne i niezawodne aplikacje rozproszone, które można łatwo zintegrować z procesami komunikacyjnymi w celu generowania plików PDF. Integracja ta stanowi solidną podstawę do tworzenia różnorodnych aplikacji, takich jak narzędzia do raportowania i systemy zarządzania dokumentami.

Czym jest Rebus?

U podstaw systemów rozproszonych leży potrzeba wydajnego routingu i obsługi komunikatów. Przegląd i zasoby Rebus, dzięki intuicyjnemu API i wszechstronnym funkcjom, służą jako pomost między różnymi komponentami aplikacji rozproszonej. Niezależnie od tego, czy chodzi o koordynację komunikacji między mikrousługami, czy zarządzanie zadaniami asynchronicznymi, Rebus zapewnia narzędzia niezbędne do usprawnienia przetwarzania i dostarczania komunikatów.

Service Bus i routing wiadomości

Dzięki Rebusowi kierowanie wiadomości na podstawie z góry określonych kryteriów staje się dziecinnie proste. Programiści mogą wykorzystać możliwości routingu Rebusa do kierowania komunikatów do określonych handlerów lub kolejek, zapewniając, że każdy komunikat skutecznie dotrze do zamierzonego miejsca docelowego. Definiując reguły routingu za pomocą metod rozszerzeń Rebus, programiści mogą dostosować przepływ komunikatów do unikalnych wymagań architektury swojej aplikacji.

Wszechstronne wzorce komunikacyjne

Rebus .NET jest kompatybilny z wieloma wzorcami komunikacji, takimi jak routing komunikatów, polecenie/zapytanie, żądanie/odpowiedź oraz publikowanie/subskrypcja. Dzięki tej wszechstronności programiści mogą wybrać projekt, który najlepiej pasuje do ich konkretnego przypadku użycia.

Komunikacja asynchroniczna

Rebus.NET umożliwia komponentom systemu rozproszonego komunikowanie się ze sobą bez konieczności oczekiwania na odpowiedź lub blokowania się nawzajem. Dzięki tej asynchronicznej komunikacji zwiększa się responsywność i skalowalność systemu.

Architektura rozproszona

Rebus.NET jest przeznaczony do tworzenia systemów rozproszonych, w których kilka procesów lub sieci służy jako środek komunikacji między komponentami. Oferuje możliwości obsługi serializacji i deserializacji komunikatów, utrzymania niezawodności dostarczania komunikatów oraz zarządzania kolejkami komunikatów.

Rozszerzalność

Rebus.NET jest bardzo rozszerzalny, co pozwala programistom na modyfikowanie i rozbudowywanie jego funkcji zgodnie z własnymi potrzebami. Oferuje punkty integracji z wieloma platformami middleware, formatami serializacji i brokerami komunikatów.

Obsługa błędów i techniki ponownego wykonywania

Rebus.NET posiada wbudowane mechanizmy ponawiania prób i obsługi błędów, które zapewniają spójne przetwarzanie komunikatów nawet w przypadku krótkotrwałych przerw w działaniu lub problemów z siecią. Programiści mogą ustawiać zasady ponawiania prób i techniki obsługi błędów, aby spełnić wymagania dotyczące odporności swoich aplikacji.

Szyfrowanie wiadomości i bezpieczeństwo

Rebus.NET umożliwia programistom ochronę poufnych danych przesyłanych między rozproszonymi komponentami, środowiskami hostingowymi i aplikacjami w chmurze hybrydowej poprzez zapewnienie szyfrowania komunikatów i funkcji bezpieczeństwa. Gwarantuje bezpieczne kanały komunikacji dla aplikacji w chmurze hybrydowej dzięki łatwej integracji z bibliotekami szyfrującymi i protokołami.

Asynchroniczna obsługa komunikatów

Obsługa asynchronicznego przetwarzania komunikatów jest podstawową funkcją Rebusa. Korzystając ze wzorca await bus, programiści mogą sprawić, że kod aplikacji będzie oczekiwał na nadejście komunikatów i asynchronicznie wykonywał odpowiednie procedury obsługi komunikatów. Umożliwia to przetwarzanie komunikatów bez blokowania, zapewniając, że aplikacja pozostaje responsywna i skalowalna nawet przy dużym obciążeniu.

Odporność na awarie i zarządzanie komunikatami o błędach

W systemach rozproszonych awarie są nieuniknione. Rebus wyposaża programistów w mechanizmy pozwalające na płynne zarządzanie i przetwarzanie komunikatów o błędach. Konfigurując zasady rejestrowania błędów i ponawiania prób, programiści mogą określić, w jaki sposób Rebus ma postępować z nieudanymi komunikatami — czy ma ponawiać próbę dostarczenia komunikatów o błędach, przenosić komunikaty do kolejki wiadomości nieudanych, czy też rejestrować błędy w celu dalszego logowania i analizy.

Utwórz i skonfiguruj Rebus

Integracja z .NET Core

Rebus jest w pełni kompatybilny z .NET Core, co czyni go idealnym wyborem dla nowoczesnych, wielopłatformowych aplikacji. Niezależnie od tego, czy tworzysz mikrousługi, funkcje bezserwerowe, aplikacje w chmurze hybrydowej czy aplikacje natywne, Rebus zapewnia solidną podstawę do komunikacji asynchronicznej i obsługi komunikatów w ekosystemie .NET Core.

Konfiguracja procedur obsługi komunikatów

Następnie należy utworzyć klasy obsługi komunikatów w celu przetwarzania przychodzących komunikatów. Kazda klasa obslugujaca komunikaty powinna implementowac interfejs IHandleMessages, gdzie MyMessage jest typem komunikatu, ktory klasa obslugujaca bedzie przetwarzala.

public class MyMessageHandler : IHandleMessages<MyMessage>
{
    public async Task Handle(MyMessage message)
    {
        // Process the incoming message here
        // Example: Log the message or perform some business logic
    }
}

Konfiguracja transportu komunikatów

Aby wysyłać i odbierać wiadomości, Rebus musi być skonfigurowany z mechanizmem transportu wiadomości. Rebus jest kompatybilny z wieloma opcjami transportu, takimi jak transport w pamięci do testów, Azure Service Bus, RabbitMQ oraz SQL Server. Dzięki temu rozwiązanie nie jest powiązane z żadną konkretną technologią kolejkowania i można je przenieść do dowolnego środowiska hostingowego.

Aby na przykład wykorzystać RabbitMQ jako transport wiadomości:

var services = new ServiceCollection();
// Configure the message transport with RabbitMQ
services.AddRebus(configure => configure
    .Transport(t => t.UseRabbitMq("amqp://guest:guest@localhost", "my-queue"))
    .Routing(r => r.TypeBased().Map<MyMessage>("my-queue")));

Zainicjuj Rebus

Na koniec należy uruchomić pętlę przetwarzania komunikatów i zainicjować Rebus przy użyciu skonfigurowanych usług.

var serviceProvider = services.BuildServiceProvider();
var bus = serviceProvider.GetRequiredService<IBus>();
await bus.Start(); // Start the Rebus message processing loop

Dodatkowa konfiguracja

Strategie ponownej próby: Dodając opcje ponownej próby do konfiguracji, możesz ustawić Rebus tak, aby ponownie próbował przetworzyć wiadomość w razie niepowodzenia.

Kontrola współbieżności: Dzięki regulacji liczby wątków roboczych lub procedur obsługi Rebus umożliwia kontrolowanie współbieżności przetwarzania komunikatów.

Serializacja komunikatów: Rebus umożliwia serializację komunikatów w różnych formatach, w tym JSON, XML i Protobuf. Ustawienia serializacji można konfigurować w zależności od kodu aplikacji i potrzeb.

Pierwsze kroki

Czym jest IronPDF?

Popularna biblioteka .NET, która pozwala nam tworzyć, modyfikować i renderować dokumenty PDF w programach, nazywa się IronPDF. Praca z plikami PDF może odbywać się na wiele sposobów, w tym poprzez konwersję stron HTML do formatu PDF przy użyciu przykładów IronPDF oraz wstawianie tekstu, obrazów i kształtów do już istniejących plików. Co więcej, można tworzyć nowe dokumenty PDF, wykorzystując kod aplikacji IronPDF do tworzenia plików PDF z HTML, obrazów lub nieprzetworzonych danych.

IronPDF wyróżnia się w konwersji HTML do PDF, zapewniając precyzyjne zachowanie oryginalnych układów i stylów. Idealnie nadaje się do tworzenia plików PDF z treści internetowych, takich jak raporty, faktury i dokumentacja. Dzięki obsłudze plików HTML, adresów URL i surowych ciągów znaków HTML, IronPDF z łatwością tworzy wysokiej jakości dokumenty PDF.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Łatwość obsługi IronPDF jest jedną z jego głównych zalet. Dzięki przyjaznemu dla użytkownika interfejsowi API i obszernej dokumentacji programiści mogą szybko rozpocząć tworzenie plików PDF z poziomu swoich aplikacji .NET. Wydajność i szybkość działania IronPDF to dwie kolejne cechy, które pomagają programistom w szybkim tworzeniu wysokiej jakości dokumentów PDF.

Rebus .NET Core Przykład (Jak Działa Dla Deweloperów): Rysunek 1 - IronPDF for .NET: Biblioteka PDF w C#

Zalety IronPDF

Kilka zalet funkcji IronPDF:

  • Tworzenie plików PDF z HTML, obrazów i nieprzetworzonych danych.
  • Usuń tekst i obrazy z plików PDF.
  • Dodawaj znaki wodne, nagłówki i stopki do plików PDF.
  • Hasła i szyfrowanie służą do zabezpieczania plików PDF.
  • Możliwość elektronicznego wypełniania i podpisywania dokumentów.

Zainstaluj biblioteki

Aby móc korzystać z Rebus do obsługi komunikatów i IronPDF for .NET do tworzenia plików PDF w aplikacji .NET, należy najpierw skonfigurować te narzędzia. Oto szczegółowa instrukcja:

Install-Package Rebus
Install-Package Rebus.ServiceProvider
Install-Package IronPdf
SHELL

Skonfiguruj swoją aplikację do obsługi komunikacji za pośrednictwem Rebus. Aby wysyłać i odbierać wiadomości, skonfiguruj Rebus z mechanizmem transportu wiadomości (takim jak RabbitMQ lub Azure Service Bus). Ta usługa może obsługiwać komunikaty o błędach.

Oto prosty przykład, w którym nazwa kolejki transportu komunikatów jest konfigurowana przy użyciu RabbitMQ:

// Create service broker config
var services = new ServiceCollection();
// Add Rebus configuration to the services
services.AddRebus(configure => configure
    .Transport(t => t.UseRabbitMq("amqp://guest:guest@localhost", "my-queue"))
    .Routing(r => r.TypeBased().Map<MyMessage>("my-queue")));
var serviceProvider = services.BuildServiceProvider();
var bus = serviceProvider.GetRequiredService<IBus>();
await bus.Start();

Rebus i IronPDF można teraz zintegrować w celu obsługi i zarządzania tworzeniem plików PDF za pomocą zadań IronPDF w ramach przepływów pracy związanych z komunikacją. W przypadku instancji Rebus można użyć Rebus do zaprojektowania procedur obsługi komunikatów, które po otrzymaniu określonego komunikatu generują pliki PDF.

public class GeneratePdfMessageHandler : IHandleMessages<GeneratePdfMessage>
{
    public async Task Handle(GeneratePdfMessage message)
    {
        // Create an instance of ChromePdfRenderer to render HTML as PDF
        var renderer = new IronPdf.ChromePdfRenderer();
        
        // Render the incoming HTML content to a PDF document
        var pdfDocument = renderer.RenderHtmlAsPdf(message.HtmlContent);
        
        // Save the generated PDF to the specified output path
        pdfDocument.SaveAs(message.OutputPath);
    }
}

Na koniec można zainicjować zadania tworzenia plików PDF, wysyłając komunikaty do Rebusa. Przykładowo:

var message = new GeneratePdfMessage
{
    HtmlContent = "<h1>Hello, IronPDF!</h1>",
    OutputPath = "Sample.pdf"
};
await bus.Send(message); // Send the message to the configured queue

WYNIK

Poniżej znajduje się wynik działania powyższego kodu źródłowego.

Rebus .NET Core Example (How It Works For Developers): Figure 2 - Output PDF "Sample.pdf" generated using IronPDF with Rebus .NET.

Wnioski

Wreszcie, dzięki połączeniu funkcji i możliwości Rebus oraz IronPDF, programiści mają teraz do dyspozycji potężny zestaw narzędzi do tworzenia systemów rozproszonych ze zintegrowanym generowaniem dokumentów w aplikacjach .NET.

Dzięki solidnej i elastycznej architekturze komunikacyjnej Rebus programiści mogą projektować różnorodne wzorce komunikacyjne i koordynować komunikację między różnymi komponentami systemów rozproszonych. Z kolei IronPDF zapewnia kompletne rozwiązanie do generowania plików PDF w aplikacjach .NET. Programiści mogą używać IronPDF do tworzenia profesjonalnie wyglądających dokumentów PDF na podstawie treści HTML, zdjęć lub nieprzetworzonych danych, a także mogą zmieniać styl i układ pliku PDF, aby dostosować go do własnych potrzeb.

Podsumowując, programiści mogą tworzyć bogate w funkcje, skalowalne i niezawodne systemy rozproszone z wbudowanymi możliwościami generowania dokumentów, łącząc rozwiązania Rebus i IronPDF. Rebus i IronPDF stanowią solidną podstawę do tworzenia najnowocześniejszych aplikacji i usług .NET, które przynoszą korzyści konsumentom, niezależnie od tego, czy są wykorzystywane do natychmiastowego generowania dokumentów, raportów czy faktur.

IronPDF oferuje również szczegółową dokumentację swoich rozbudowanych funkcji wraz z wieloma szczegółowymi przykładami kodu.

IronPDF jest dostarczany z przystępną cenowo dożywotnią licencją zawartą w pakiecie. Pakiet jest dostępny w bardzo dobrej cenie, już za tylko $999 dla różnych systemów. Posiadaczom licencji oferuje całodobową pomoc techniczną online. Oferuje również bezpłatną wersję próbną IronPDF, aby uzyskać dodatkowe informacje dotyczące cen. Odwiedź stronę internetową Iron Software, aby uzyskać dodatkowe informacje na temat oferty firmy Iron Software.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta