首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MQTTnet -为.net 6最小Api创建服务

MQTTnet -为.net 6最小Api创建服务
EN

Stack Overflow用户
提问于 2022-05-24 17:37:08
回答 1查看 689关注 0票数 1

谁能提供示例代码来创建可注入的MQTTnet服务,以供在.net 6.0中使用?我做过这样的事:

代码语言:javascript
复制
MqttClientOptionsBuilder mqbuilder = new MqttClientOptionsBuilder()
        .WithClientId("VTSCMgmntC")
        .WithTcpServer("192.168.1.75", 1883);

ManagedMqttClientOptions mqoptions = new ManagedMqttClientOptionsBuilder()
       .WithAutoReconnectDelay(TimeSpan.FromSeconds(60))
       .WithClientOptions(mqbuilder.Build())
       .Build();

builder.Services.AddSingleton<IManagedMqttClient>(new MqttFactory().CreateManagedMqttClient());

在控制器方面,我有:

代码语言:javascript
复制
 private readonly VTSCMContext _context;
 private readonly IManagedMqttClient _mqttclient;

    public VTSCMgmtController(VTSCMContext context, IManagedMqttClient mqttclient)
    {
        _context = context;
        _mqttclient = mqttclient;
    }

    [HttpGet]
    public void pubtest()
    {
        _mqttclient.PublishAsync("test");
    }

很明显什么都没出版.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-01 20:38:49

添加用于将来参考的代码:

代码语言:javascript
复制
IMqttClientOptions options = new MqttClientOptionsBuilder()
        .WithClientId("")
        .WithTcpServer("", 1883)
        .WithCredentials("", "")
        .Build();

IMqttClient mqttclient = new MqttFactory().CreateMqttClient();

var connection =  mqttclient.ConnectAsync(options, CancellationToken.None);

connection.Wait();
var res = connection.Result;

builder.Services.AddSingleton<IMqttClient>(mqttclient);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72367190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档