Azure Service Bus konuları ve abonelikleri ile çalışmaya başlama (.net)

bu hızlı başlangıçta, Azure. Messaging. servicebus .net kitaplığını kullanarak bir Service Bus konusuna nasıl ileti gönderileceğini ve bu konuya yönelik bir abonelikten ileti almanızı gösterir.

Bu hızlı başlangıçta aşağıdaki adımları gerçekleştirirsiniz:

  1. Azure portalı ile Service Bus ad alanı oluşturma.
  2. Azure portalı ile Service Bus konusu oluşturma.
  3. Azure portalı ile bu konu için bir Service Bus aboneliği oluşturma.
  4. Konuya bir dizi ileti göndermek için bir .NET Core konsol uygulaması yazın.
  5. Bu iletileri abonelikten almak için bir .NET Core konsol uygulaması yazın.

Not

bu hızlı başlangıç, bir Service Bus konusuna toplu ileti gönderme ve bu iletileri konusunun bir aboneliğinden alma hakkında basit bir senaryo uygulamak için adım adım yönergeler sağlar. diğer ve gelişmiş senaryolar hakkında daha fazla örnek için bkz. GitHub Service Bus .net örnekleri.

Önkoşullar

hizmete yeni başladıysanız, bu hızlı başlangıcı uygulamadan önce Service Bus genel bakış bölümüne bakın.

  • Azure aboneliği. azure Service Bus dahil olmak üzere azure hizmetlerini kullanmak için bir aboneliğiniz olması gerekir. Mevcut bir Azure hesabınız yoksa, ücretsiz deneme için kaydolabilir veya BIR hesap oluştururkenMSDN abonesi avantajlarınızı kullanabilirsiniz.
  • Microsoft Visual Studio 2019. Azure Service Bus istemci kitaplığı, C# 8,0 ' de tanıtılan yeni özelliklerden yararlanmaktadır. Kitaplığı önceki C# dil sürümleriyle kullanmaya devam edebilirsiniz, ancak yeni sözdizimi kullanılamaz. Tam sözdizimini kullanmak için, .NET Core SDK 3,0 veya üzeri ve dil sürümü olarak ayarlanmış şekilde derlemenize önerilir latest . Visual Studio kullanıyorsanız, Visual Studio 2019 ' den önceki sürümler C# 8,0 projeleri oluşturmak için gereken araçlarla uyumlu değildir. ücretsiz Community sürümü de dahil olmak üzere Visual Studio 2019 buradanindirilebilir.

Azure portalında bir ad alanı oluşturma

Azure'da Service Bus mesajlaşma varlıklarını kullanmaya başlamak için öncelikle Azure'da benzersiz olan bir ad alanı oluşturmanız gerekir. Ad alanı, uygulamanızda bulunan Service Bus kaynaklarını adreslemek için içeriğin kapsamını belirleyen bir kapsayıcı sunar.

Ad alanı oluşturmak için:

  1. Azure portalda oturum açma

  2. Portalın sol gezinti bölmesinde + kaynak oluştur' u seçin, tümleştirme' i seçin ve ardından Service Bus' yi seçin.

    bir kaynak oluştur, tümleştirme ve sonra menüdeki Service Bus seçimi gösteren resim.

  3. Ad alanı oluştur sayfasının temel bilgiler etiketinde şu adımları izleyin:

    1. Abonelik için, ad alanını oluşturmak Için bir Azure aboneliği seçin.

    2. Kaynak grubu için, ad alanının etkin olacağı mevcut bir kaynak grubunu seçin veya yeni bir tane oluşturun.

    3. Ad alanı için bir ad girin. Adın kullanılabilirliği sistem tarafından hemen kontrol edilir. Ad alanlarını adlandırma kurallarının bir listesi için bkz. Create Namespace REST API.

    4. Konum için, ad alanınızı barındırılacak bölgeyi seçin.

    5. fiyatlandırma katmanı için, ad alanı için fiyatlandırma katmanını (temel, standart veya Premium) seçin. Bu hızlı başlangıç için Standart' ı seçin.

      Konuları ve aboneliklerikullanmak Istiyorsanız, standart veya Premium birini seçin. Konular/abonelikler temel fiyatlandırma katmanında desteklenmez.

      Premium fiyatlandırma katmanını seçtiyseniz, mesajlaşma birimi sayısını belirtin. Premium katmanı, her iş yükünün yalıtımda çalışması için CPU ve bellek düzeyinde kaynak yalıtımı sağlar. Bu kaynak kapsayıcısı mesajlaşma birimi olarak adlandırılır. Premium ad alanında en az bir mesajlaşma birimi vardır. her bir Service Bus Premium ad alanı için 1, 2 veya 4 mesajlaşma birimi seçebilirsiniz. daha fazla bilgi için bkz. Service Bus Premium mesajlaşma.

    6. Gözden geçir ve oluştur’u seçin. Artık sistem ad alanınızı oluşturur ve kullanıma açar. Sistem, hesabınıza yönelik kaynakları sağlarken birkaç dakika beklemeniz gerekebilir.

      Ad alanı oluştur sayfasını gösteren resim

    7. Gözden geçir + oluştur sayfasında ayarları gözden geçirin ve Oluştur' u seçin.

  4. Dağıtım sayfasında Kaynağa Git ' i seçin.

    Kaynak git bağlantısına sahip dağıtım başarılı sayfasını gösteren resim.

  5. Service Bus ad alanınız için ana sayfayı görürsünüz.

    oluşturulan Service Bus ad alanının ana sayfasını gösteren resim.

Bağlantı dizesini alma

Yeni bir ad alanı oluşturmak, birincil ve ikincil anahtarlarla otomatik olarak bir ilk paylaşılan erişim Imzası (SAS) ilkesi oluşturur ve her birinin ad alanının tüm yönleri üzerinde tam denetim izni veren birincil ve ikincil bağlantı dizelerine sahiptir. düzenli gönderenler ve alıcılar için daha kısıtlanmış haklara sahip kurallar oluşturma hakkında bilgi için bkz. Service Bus kimlik doğrulaması ve yetkilendirme .

Ad alanınız için birincil bağlantı dizesini kopyalamak için aşağıdaki adımları izleyin:

  1. Service Bus ad alanı sayfasında sol menüdeki paylaşılan erişim ilkeleri ' ni seçin.

  2. Paylaşılan erişim ilkeleri sayfasında RootManageSharedAccessKey' yi seçin.

    Ekran görüntüsü, ilke vurgulanmış şekilde paylaşılan erişim ilkeleri penceresini gösterir.

  3. İlke: RootManageSharedAccessKey penceresinde, birincil bağlantı dizesi' nin yanındaki Kopyala düğmesine tıklayın ve bağlantı dizesini daha sonra kullanmak üzere panonuza kopyalayın. Bu değeri Not Defteri veya başka bir geçici konuma yapıştırın.

    Ekran görüntüsünde, anahtarlar ve bağlantı dizeleri içeren RootManageSharedAccessKey adlı bir s İlkesi gösterilir.

    Bu sayfayı birincil anahtar, ikincil anahtar ve ikincil bağlantı dizesini kopyalamak için kullanabilirsiniz.

Azure portalını kullanarak konu oluşturma

  1. Service Bus ad alanı sayfasında sol menüdeki konular ' ı seçin.

  2. Araç çubuğunda + konu başlığını seçin.

  3. Konu için bir ad girin. Diğer seçenekleri varsayılan değerlerinde bırakın.

  4. Oluştur’u seçin.

    Konu Oluştur sayfasını gösteren resim.

Konuya abonelik oluşturma

  1. Önceki bölümde oluşturduğunuz konuyu seçin.

    Konu listesinden konunun seçimini gösteren resim.

  2. Service Bus konu sayfasında, araç çubuğunda + aboneliği ' ni seçin.

    Abonelik Ekle düğmesini gösteren resim.

  3. Abonelik oluştur sayfasında, aşağıdaki adımları izleyin:

    1. Aboneliğin adı için S1 girin.

    2. En fazla teslimat sayısı için 3 girin.

    3. Ardından, aboneliği oluşturmak için Oluştur ' u seçin.

      Abonelik oluştur sayfasını gösteren resim.

Önemli

Bağlantı dizesini ad alanına, konu adına ve abonelik adına göz önünde kalın. Bunları daha sonra bu öğreticide kullanacaksınız.

Konuya ileti gönderme

bu bölümde, bir Service Bus konusuna ileti göndermek için bir .net Core konsol uygulamasının nasıl oluşturulacağı gösterilmektedir.

Not

bu hızlı başlangıç, bir Service Bus konusuna toplu ileti gönderme ve bu iletileri konusunun bir aboneliğinden alma hakkında basit bir senaryo uygulamak için adım adım yönergeler sağlar. diğer ve gelişmiş senaryolar hakkında daha fazla örnek için bkz. GitHub Service Bus .net örnekleri.

Konsol uygulaması oluşturma

  1. Visual Studio 2019’u başlatın.
  2. Yeni proje oluştur' u seçin.
  3. Yeni proje oluştur iletişim kutusunda, aşağıdaki adımları uygulayın: Bu iletişim kutusunu görmüyorsanız menüdeki Dosya ' yı seçin, Yeni' yi seçin ve ardından Project' yi seçin.
    1. Programlama dili için C# ' ı seçin.

    2. Uygulamanın türü için konsol ' ı seçin.

    3. Sonuçlar listesinden konsol uygulaması ' nı seçin.

    4. Ardından İleri' yi seçin.

      C# ve konsolunun seçildiği yeni proje oluştur iletişim kutusunu gösteren resim

  4. Proje adı için Topicsender , çözüm adı Için Servicebustopicquickstart girin ve ardından İleri' yi seçin.
  5. Ek bilgi sayfasında, çözümü ve projeyi oluşturmak için Oluştur ' u seçin.

Service Bus NuGet paketi ekleme

  1. menüden araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi konsolunu seçin.

  2. Azure. Messaging. servicebus NuGet paketini yüklemek için aşağıdaki komutu çalıştırın:

    Install-Package Azure.Messaging.ServiceBus
    

Konuya ileti göndermek için kod ekleme

  1. Program. cs' de, using Sınıf bildiriminden önce, ad alanı tanımının en üstüne aşağıdaki deyimleri ekleyin.

    using System.Threading.Tasks;
    using Azure.Messaging.ServiceBus;
    
  2. Sınıfı içinde, Program yönteminden hemen önce aşağıdaki özellikleri bildirin Main . <NAMESPACE CONNECTION STRING>Service Bus ad alanınız için bağlantı dizesiyle değiştirin. ve, <TOPIC NAME> Service Bus konusunun adıyla değiştirin.

    // connection string to your Service Bus namespace
    static string connectionString = "<NAMESPACE CONNECTION STRING>";
    
    // name of your Service Bus topic
    static string topicName = "<TOPIC NAME>";
    
    // the client that owns the connection and can be used to create senders and receivers
    static ServiceBusClient client;
    
    // the sender used to publish messages to the topic
    static ServiceBusSender sender;
    
    // number of messages to be sent to the topic
    private const int numOfMessages = 3;
    
  3. Program. cs dosyasındaki kodu aşağıdaki kodla değiştirin. Koddan önemli adımlar aşağıda verilmiştir.

    1. Ad alanına bağlantı dizesini kullanarak bir Servicebusclient nesnesi oluşturur.
    2. ServiceBusClient belirli Service Bus konusu için servicebussender nesnesi oluşturmak üzere nesnesinde createsender yöntemini çağırır.
    3. Servicebussender. CreateMessageBatchAsynckullanarak Servicebusmessagebatch nesnesi oluşturur.
    4. Servicebusmessagebatch. TryAddMessagekullanarak toplu işe ileti ekleyin.
    5. servicebussender. sendmessagesasync yöntemini kullanarak ileti toplu işini Service Bus konusuna gönderir.
    static async Task Main()
    {
        // The Service Bus client types are safe to cache and use as a singleton for the lifetime
        // of the application, which is best practice when messages are being published or read
        // regularly.
        //
        // Create the clients that we'll use for sending and processing messages.
        client = new ServiceBusClient(connectionString);
        sender = client.CreateSender(topicName);
    
        // create a batch 
        using ServiceBusMessageBatch messageBatch = await sender.CreateMessageBatchAsync();
    
        for (int i = 1; i <= numOfMessages; i++)
        {
            // try adding a message to the batch
            if (!messageBatch.TryAddMessage(new ServiceBusMessage($"Message {i}")))
            {
                // if it is too large for the batch
                throw new Exception($"The message {i} is too large to fit in the batch.");
            }
        }
    
        try
        {
            // Use the producer client to send the batch of messages to the Service Bus topic
            await sender.SendMessagesAsync(messageBatch);
            Console.WriteLine($"A batch of {numOfMessages} messages has been published to the topic.");
        }
        finally
        {
            // Calling DisposeAsync on client types is required to ensure that network
            // resources and other unmanaged objects are properly cleaned up.
            await sender.DisposeAsync();
            await client.DisposeAsync();
        }
    
        Console.WriteLine("Press any key to end the application");
        Console.ReadKey();
    }
    
  4. Program. cs dosyanız şu şekilde görünmelidir:

    Daha fazla bilgi için bkz. kod açıklamaları.

    using System;
    using System.Threading.Tasks;
    using Azure.Messaging.ServiceBus;
    
    namespace TopicSender
    {
        class Program
        {
            // connection string to your Service Bus namespace
            static string connectionString = "<NAMESPACE CONNECTION STRING>";
    
            // name of your Service Bus topic
            static string topicName = "<TOPIC NAME>";
    
            // the client that owns the connection and can be used to create senders and receivers
            static ServiceBusClient client;
    
            // the sender used to publish messages to the topic
            static ServiceBusSender sender;
    
            // number of messages to be sent to the topic
            private const int numOfMessages = 3;
    
            static async Task Main()
            {
                // The Service Bus client types are safe to cache and use as a singleton for the lifetime
                // of the application, which is best practice when messages are being published or read
                // regularly.
                //
                // Create the clients that we'll use for sending and processing messages.
                client = new ServiceBusClient(connectionString);
                sender = client.CreateSender(topicName);
    
                // create a batch 
                using ServiceBusMessageBatch messageBatch = await sender.CreateMessageBatchAsync();
    
                for (int i = 1; i <= numOfMessages; i++)
                {
                    // try adding a message to the batch
                    if (!messageBatch.TryAddMessage(new ServiceBusMessage($"Message {i}")))
                    {
                        // if it is too large for the batch
                        throw new Exception($"The message {i} is too large to fit in the batch.");
                    }
                }
    
                try
                {
                    // Use the producer client to send the batch of messages to the Service Bus topic
                    await sender.SendMessagesAsync(messageBatch);
                    Console.WriteLine($"A batch of {numOfMessages} messages has been published to the topic.");
                }
                finally
                {
                    // Calling DisposeAsync on client types is required to ensure that network
                    // resources and other unmanaged objects are properly cleaned up.
                    await sender.DisposeAsync();
                    await client.DisposeAsync();
                }
    
                Console.WriteLine("Press any key to end the application");
                Console.ReadKey();
            }
        }
    }    
    
  5. <NAMESPACE CONNECTION STRING>Service Bus ad alanınız için bağlantı dizesiyle değiştirin. ve, <TOPIC NAME> Service Bus konusunun adıyla değiştirin.

  6. Projeyi derleyin ve hata olmadığından emin olun.

  7. Programı çalıştırın ve onay iletisini bekleyin.

    A batch of 3 messages has been published to the topic
    
  8. Azure portal, aşağıdaki adımları izleyin:

    1. Service Bus ad alanına gidin.

    2. genel bakış sayfasında, alt orta bölmedeki konular sekmesine geçin ve Service Bus konusunu seçin. Aşağıdaki örnekte, bu mytopic .

      Konu seçin

    3. Service Bus konu sayfasında, alt ölçümler bölümündeki iletiler grafiğinde, konu başlığı altında üç gelen ileti olduğunu görebilirsiniz. Değeri görmüyorsanız, birkaç dakika bekleyin ve güncelleştirilmiş grafiği görmek için sayfayı yenileyin.

      Konuya gönderilen iletiler

    4. Alt bölmedeki aboneliği seçin. Aşağıdaki örnekte S1' dir. Service Bus abonelik sayfasında etkin ileti sayısını 3 olarak görürsünüz. Abonelik, konuya gönderdiğiniz üç iletiyi aldı, ancak henüz hiç alıcı çekmedi.

      Abonelikte alınan iletiler

Bir abonelikten ileti alma

bu bölümde, abonelikten Service Bus konuya ileti alan bir .net Core konsol uygulaması oluşturacaksınız.

Not

bu hızlı başlangıç, bir Service Bus konusuna toplu ileti gönderme ve bu iletileri konusunun bir aboneliğinden alma hakkında basit bir senaryo uygulamak için adım adım yönergeler sağlar. diğer ve gelişmiş senaryolar hakkında daha fazla örnek için bkz. GitHub Service Bus .net örnekleri.

Alıcı için proje oluşturma

  1. Çözüm Gezgini penceresinde Servicebustopicquickstart çözümüne sağ tıklayın, Ekle' nin üzerine gelin ve yeni Project' i seçin.
  2. Konsol uygulaması' nı seçin ve İleri' yi seçin.
  3. Project adı için subscriptionalıcıyı girin ve ileri' yi seçin.
  4. Ek bilgi sayfasında Oluştur' u seçin.
  5. Çözüm Gezgini penceresinde, subscriptionalıcısı' na sağ tıklayın ve Başlangıç Project olarak ayarla' yı seçin.

Service Bus NuGet paketi ekleme

  1. menüden araçlar > NuGet Paket Yöneticisi > Paket Yöneticisi konsolunu seçin.

  2. Paket Yöneticisi konsolu penceresinde, varsayılan proje için subscriptionalıcının seçili olduğunu doğrulayın. Aksi takdirde, abonelik alıcısı' nı seçmek için açılan listeyi kullanın.

    Paket Yöneticisi konsolu penceresinde subscriptionalıcı projesinin seçimini gösteren resim.

  3. Azure. Messaging. servicebus NuGet paketini yüklemek için aşağıdaki komutu çalıştırın:

    Install-Package Azure.Messaging.ServiceBus
    

Abonelikten ileti almak için kod ekleme

  1. Program. cs' de, using Sınıf bildiriminden önce, ad alanı tanımının en üstüne aşağıdaki deyimleri ekleyin.

    using System.Threading.Tasks;
    using Azure.Messaging.ServiceBus;
    
  2. Sınıfı içinde, Program yönteminden hemen önce aşağıdaki özellikleri bildirin Main . Yer tutucuları doğru değerlerle değiştirin:

    • <NAMESPACE CONNECTION STRING>Service Bus ad alanına bağlantı dizesi ile
    • <TOPIC NAME>Service Bus konusunun adı ile
    • <SERVICE BUS - TOPIC SUBSCRIPTION NAME> konunun abonelik adı ile.
    // connection string to your Service Bus namespace
    static string connectionString = "<NAMESPACE CONNECTION STRING>";
    
    // name of the Service Bus topic
    static string topicName = "<SERVICE BUS TOPIC NAME>";
    
    // name of the subscription to the topic
    static string subscriptionName = "<SERVICE BUS - TOPIC SUBSCRIPTION NAME>";
    
    // the client that owns the connection and can be used to create senders and receivers
    static ServiceBusClient client;
    
    // the processor that reads and processes messages from the subscription
    static ServiceBusProcessor processor;    
    
  3. ProgramAlınan iletileri ve hataları işlemek için aşağıdaki yöntemleri sınıfına ekleyin.

    // handle received messages
    static async Task MessageHandler(ProcessMessageEventArgs args)
    {
        string body = args.Message.Body.ToString();
        Console.WriteLine($"Received: {body} from subscription: {subscriptionName}");
    
        // complete the message. messages is deleted from the subscription. 
        await args.CompleteMessageAsync(args.Message);
    }
    
    // handle any errors when receiving messages
    static Task ErrorHandler(ProcessErrorEventArgs args)
    {
        Console.WriteLine(args.Exception.ToString());
        return Task.CompletedTask;
    }
    
  4. Program. cs dosyasındaki kodu aşağıdaki kodla değiştirin. Koddan önemli adımlar şunlardır:

    1. Ad alanına bağlantı dizesini kullanarak bir Servicebusclient nesnesi oluşturur.
    2. ServiceBusClient belirtilen Service Bus kuyruğu için servicebusprocessor nesnesi oluşturmak üzere nesnesi üzerinde createprocessor yöntemini çağırır.
    3. Nesnenin Processmessageasync ve processerrorasync olayları için işleyicileri belirtir ServiceBusProcessor .
    4. Nesnesinde Startprocessingasync öğesini çağırarak iletileri işlemeye başlar ServiceBusProcessor .
    5. Kullanıcı işlemeyi bitirmek için bir tuşa bastığında, nesnesinde Stopprocessingasync öğesini çağırır ServiceBusProcessor .

    Daha fazla bilgi için bkz. kod açıklamaları.

    static async Task Main()
    {
        // The Service Bus client types are safe to cache and use as a singleton for the lifetime
        // of the application, which is best practice when messages are being published or read
        // regularly.
        //
        // Create the clients that we'll use for sending and processing messages.
        client = new ServiceBusClient(connectionString);
    
        // create a processor that we can use to process the messages
        processor = client.CreateProcessor(topicName, subscriptionName, new ServiceBusProcessorOptions());
    
        try
        {
            // add handler to process messages
            processor.ProcessMessageAsync += MessageHandler;
    
            // add handler to process any errors
            processor.ProcessErrorAsync += ErrorHandler;
    
            // start processing 
            await processor.StartProcessingAsync();
    
            Console.WriteLine("Wait for a minute and then press any key to end the processing");
            Console.ReadKey();
    
            // stop processing 
            Console.WriteLine("\nStopping the receiver...");
            await processor.StopProcessingAsync();
            Console.WriteLine("Stopped receiving messages");
        }
        finally
        {
            // Calling DisposeAsync on client types is required to ensure that network
            // resources and other unmanaged objects are properly cleaned up.
            await processor.DisposeAsync();
            await client.DisposeAsync();
        }
    }    
    
  5. Şöyle Program.cs görünmelidir:

    using System;
    using System.Threading.Tasks;
    using Azure.Messaging.ServiceBus;
    
    namespace SubscriptionReceiver
    {
        class Program
        {
            // connection string to your Service Bus namespace
            static string connectionString = "<NAMESPACE CONNECTION STRING>";
    
            // name of the Service Bus topic
            static string topicName = "<SERVICE BUS TOPIC NAME>";
    
            // name of the subscription to the topic
            static string subscriptionName = "<SERVICE BUS - TOPIC SUBSCRIPTION NAME>";
    
            // the client that owns the connection and can be used to create senders and receivers
            static ServiceBusClient client;
    
            // the processor that reads and processes messages from the subscription
            static ServiceBusProcessor processor;
    
            // handle received messages
            static async Task MessageHandler(ProcessMessageEventArgs args)
            {
                string body = args.Message.Body.ToString();
                Console.WriteLine($"Received: {body} from subscription: {subscriptionName}");
    
                // complete the message. messages is deleted from the subscription. 
                await args.CompleteMessageAsync(args.Message);
            }
    
            // handle any errors when receiving messages
            static Task ErrorHandler(ProcessErrorEventArgs args)
            {
                Console.WriteLine(args.Exception.ToString());
                return Task.CompletedTask;
            }
    
            static async Task Main()
            {
                // The Service Bus client types are safe to cache and use as a singleton for the lifetime
                // of the application, which is best practice when messages are being published or read
                // regularly.
                //
                // Create the clients that we'll use for sending and processing messages.
                client = new ServiceBusClient(connectionString);
    
                // create a processor that we can use to process the messages
                processor = client.CreateProcessor(topicName, subscriptionName, new ServiceBusProcessorOptions());
    
                try
                {
                    // add handler to process messages
                    processor.ProcessMessageAsync += MessageHandler;
    
                    // add handler to process any errors
                    processor.ProcessErrorAsync += ErrorHandler;
    
                    // start processing 
                    await processor.StartProcessingAsync();
    
                    Console.WriteLine("Wait for a minute and then press any key to end the processing");
                    Console.ReadKey();
    
                    // stop processing 
                    Console.WriteLine("\nStopping the receiver...");
                    await processor.StopProcessingAsync();
                    Console.WriteLine("Stopped receiving messages");
                }
                finally
                {
                    // Calling DisposeAsync on client types is required to ensure that network
                    // resources and other unmanaged objects are properly cleaned up.
                    await processor.DisposeAsync();
                    await client.DisposeAsync();
                }
            }
        }
    }
    
  6. Yer tutucuları doğru değerlerle değiştirin:

    • <NAMESPACE CONNECTION STRING>Service Bus ad alanına bağlantı dizesi ile
    • <TOPIC NAME>Service Bus konusunun adı ile
    • <SERVICE BUS - TOPIC SUBSCRIPTION NAME> konunun abonelik adı ile.
  7. Projeyi derleyin ve hata olmadığından emin olun.

  8. Alıcı uygulamasını çalıştırın. Alınan iletileri görmeniz gerekir. Alıcıyı ve uygulamayı durdurmak için herhangi bir tuşa basın.

    Wait for a minute and then press any key to end the processing
    Received: Message 1 from subscription: S1
    Received: Message 2 from subscription: S1
    Received: Message 3 from subscription: S1
    
    Stopping the receiver...
    Stopped receiving messages
    
  9. Portalı yeniden kontrol edin.

    • Service Bus konu sayfasındaki iletiler grafiğinde, üç gelen ileti ve üç giden ileti görürsünüz. Bu numaraları görmüyorsanız, birkaç dakika bekleyin ve güncelleştirilmiş grafiği görmek için sayfayı yenileyin.

      Gönderilen ve alınan iletiler

    • Service Bus abonelik sayfasında etkin ileti sayısını sıfır olarak görürsünüz. Bunun nedeni, alıcı bu abonelikten ileti almış ve iletileri tamamlamıştır.

      Son sırada abonelikte etkin ileti sayısı

Sonraki adımlar

Aşağıdaki belgelere ve örneklere bakın: