谁能提供示例代码来创建可注入的MQTTnet服务,以供在.net 6.0中使用?我做过这样的事:
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());在控制器方面,我有:
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");
}很明显什么都没出版.
发布于 2022-06-01 20:38:49
添加用于将来参考的代码:
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);https://stackoverflow.com/questions/72367190
复制相似问题