azure - 需要在 Azure Service Fabric 上实现 ICommunicationListener 的 ZeroMQ

标签 azure asp.net-core zeromq azure-service-fabric netmq

我正在寻找 ICommunicationListener 的 ZeroMQ 实现我可以将其与服务结构一起使用以在 Azure 上运行 ZeroMQ 端点。

我找了几个小时,但没有找到。有谁知道这个问题的解决方案?我目前使用“Service App Fabric/.net core 2.0 无状态服务”模板,
这允许我覆盖
IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners() ,
当我有ICommunicationListener时ZeroMQ 的实现,
或覆盖 Task RunAsync(CancellationToken cancellationToken) ,
当我想自己设置套接字时。

我的第一次尝试不起作用:

protected override async Task RunAsync(CancellationToken cancellationToken)
{
    using (var server = new ResponseSocket("tcp://xx.xx.xx.xx:xxxxx"))
    {
        while (!cancellationToken.IsCancellationRequested)
        {
            var message = server.ReceiveFrameBytes();
            ServiceEventSource.Current.ServiceMessage(this.Context, "Message {0}",
                System.Text.Encoding.UTF8.GetString(message));
        }
    }
}

上述结果是服务无法启动。除了这个之外找不到太多日志记录:

"There was an error during CodePackage activation.The service host terminated with exit code:255"

最佳答案

如果不存在,您可以通过创建 ICommunicationListener 的实现并从 CreateServiceInstanceListeners 返回该实现来创建自己的实现。 使用 OpenAsync 打开 channel 并开始监听。使用CloseAsync停止监听。

看看this implementation for Service Bus ,寻求灵感。

关于azure - 需要在 Azure Service Fabric 上实现 ICommunicationListener 的 ZeroMQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49990768/

相关文章:

azure - 通知中心 - iOS 交付对于大型团体来说不一致

c# - .net core 中的默认最大请求长度是多少

c# - ASP.NET Core迁移到Core 3.0 : Migration warning CS0618 'RazorViewAttribute' is obsolete

c# - ASP.NET Boilerplate 多个数据库和 DbContexts

go - 使用 ZeroMQ 在 Go 中处理中断的惯用方法

sql-server - 使用 Invoke-Sqlcmd 运行 SQL 脚本以在 Synapse Workspace SQL 池中创建表

azure - Azure 云服务的自定义端口号

Azure虚拟机 "Running (Provisioning timed out)"

uuid - 多个订阅者的相同 ZMQ IDENTITY

sockets - ZeroMQ REP套接字中的主题