【问题标题】:Connecting to Event Hub连接到事件中心
【发布时间】:2020-03-27 01:38:46
【问题描述】:

在下面的代码中,我试图创建一个生产者客户端,我可以使用它来将事件发送到事件中心。我收到 System.PlatformNotSupportedException: '该平台不支持 WebSocket 协议。 错误 任何有关如何解决此问题的指导将不胜感激。仅供参考,我的平台是 Windows 7,尽管该程序旨在在 Windows 2008 服务器或更高版本上运行。


    var producerOptions = new EventHubProducerClientOptions
                 {
                     ConnectionOptions = new EventHubConnectionOptions
                     {
                         TransportType = EventHubsTransportType.AmqpWebSockets,

                     },

                     RetryOptions = new EventHubsRetryOptions
                     {
                         MaximumRetries = 5,
                         TryTimeout = TimeSpan.FromMinutes(1)
                     }
                 };

                 var producer = new EventHubProducerClient(connectionString, eventHubName, producerOptions);

//这里是错误发生的地方。这是在 try - catch 块内

var eventBatch = await producer.CreateBatchAsync();

......

【问题讨论】:

  • 如果你想在win7机器上使用相同的代码,请更改传输类型

标签: websocket azure-eventhub


【解决方案1】:

事件中心客户端库依赖底层框架进行传输通信。在这种情况下,听起来好像您在不支持 Web 套接字的 Windows 7 上使用完整的 .NET Framework。

只要您不使用 UWP 应用程序,将目标框架更改为 .NET Core 并使用客户端库中的 netstandard2.0 目标可能会起作用。 (参见:this PR

更多详细信息可以在this question 的接受答案中找到,其中还包含一些对可能用作 polyfill 的第三方包的建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    相关资源
    最近更新 更多