使用 .NET Framework 将事件发送到 Azure 事件中心

Azure 事件中心是一个大数据流式处理平台和事件引入服务,每秒能够接收和处理数百万个事件。 事件中心可以处理和存储分布式软件和设备生成的事件、数据或遥测。 可以使用任何实时分析提供程序或批处理/存储适配器转换和存储发送到数据中心的数据。 有关事件中心的详细概述,请参阅事件中心概述事件中心功能

本教程介绍如何使用控制台应用程序(通过 .NET Framework 以 C# 编写)将事件发送到事件中心。

先决条件

若要完成本教程,需要满足以下先决条件:

创建事件中心命名空间和事件中心

第一步是使用 Azure 门户创建事件中心类型的命名空间,并获取应用程序与事件中心进行通信所需的管理凭据。 若要创建命名空间和事件中心,请按照本文中的步骤进行操作,然后继续执行本教程的以下步骤。

按照以下文章中的说明获取事件中心命名空间的连接字符串:获取连接字符串。 本教程后面的步骤将使用此连接字符串。

创建控制台应用程序

在 Visual Studio 中,使用 控制台应用程序 项目模板创建一个新的 Visual C# 桌面应用项目。 将该项目命名为 Sender

创建控制台应用程序

添加事件中心 NuGet 包

  1. 在解决方案资源管理器中,右键单击“Sender”项目,并单击“为解决方案管理 NuGet 包”。
  2. 单击“浏览”选项卡,并搜索 WindowsAzure.ServiceBus。 单击“安装” 并接受使用条款。

    安装服务总线 NuGet 包

    Visual Studio 下载、安装 Azure 服务总线库 NuGet 包并添加对它的引用。

编写代码以将消息发送到事件中心

  1. Program.cs 文件顶部添加以下 using 语句:

    using System.Threading;
    using Microsoft.ServiceBus.Messaging;
    
  2. 将以下字段添加到 Program 类,并将占位符值分别替换为在上一节中创建的事件中心的名称和前面保存的命名空间级别连接字符串。 可以在 Azure 门户中从“事件中心”页面上的 RootManageSharedAccessKey 下的“连接字符串-主要”密钥下复制你的事件中心的连接字符串。 有关详细步骤,请参阅获取连接字符串

    static string eventHubName = "Your Event Hub name";
    static string connectionString = "namespace connection string";
    
  3. 将以下方法添加到 Program 类:

    static void SendingRandomMessages()
    {
        var eventHubClient = EventHubClient.CreateFromConnectionString(connectionString, eventHubName);
        while (true)
        {
            try
            {
                var message = Guid.NewGuid().ToString();
                Console.WriteLine("{0} > Sending message: {1}", DateTime.Now, message);
                eventHubClient.Send(new EventData(Encoding.UTF8.GetBytes(message)));
            }
            catch (Exception exception)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("{0} > Exception: {1}", DateTime.Now, exception.Message);
                Console.ResetColor();
            }
    
            Thread.Sleep(200);
        }
    }
    

    此方法不断将事件发送到事件中心,延迟为 200 毫秒。

  4. 最后,在 Main 方法中添加以下行:

    Console.WriteLine("Press Ctrl-C to stop the sender process");
    Console.WriteLine("Press Enter to start now");
    Console.ReadLine();
    SendingRandomMessages();
    
  5. 运行程序,并确保没有任何错误。

祝贺! 现在已向事件中心发送消息。

后续步骤

在此快速入门中,已使用 .NET Framework 向事件中心发送消息。 若要了解如何使用 .NET Framework 从事件中心接收事件,请参阅从事件中心接收事件 - .NET Framework