Ver a proveniência

Merge pull request #402 from JanEggers/AspNetMqttServerOptionsBuilder

added AspNetMqttServerOptionsBuilder
release/3.x.x
Christian há 6 anos
committed by GitHub
ascendente
cometimento
dd83a360b4
Não foi encontrada uma chave conhecida para esta assinatura, na base de dados ID da chave GPG: 4AEE18F83AFDEB23
2 ficheiros alterados com 33 adições e 5 eliminações
  1. +15
    -0
      Source/MQTTnet.AspnetCore/AspNetMqttServerOptionsBuilder.cs
  2. +18
    -5
      Source/MQTTnet.AspnetCore/ServiceCollectionExtensions.cs

+ 15
- 0
Source/MQTTnet.AspnetCore/AspNetMqttServerOptionsBuilder.cs Ver ficheiro

@@ -0,0 +1,15 @@
using MQTTnet.Server;
using System;

namespace MQTTnet.AspNetCore
{
public class AspNetMqttServerOptionsBuilder : MqttServerOptionsBuilder
{
public AspNetMqttServerOptionsBuilder(IServiceProvider serviceProvider)
{
ServiceProvider = serviceProvider;
}

public IServiceProvider ServiceProvider { get; }
}
}

+ 18
- 5
Source/MQTTnet.AspnetCore/ServiceCollectionExtensions.cs Ver ficheiro

@@ -20,14 +20,27 @@ namespace MQTTnet.AspNetCore

return services;
}
public static IServiceCollection AddHostedMqttServer(this IServiceCollection services, Action<MqttServerOptionsBuilder> configure)
{
var builder = new MqttServerOptionsBuilder();
services.AddSingleton<IMqttServerOptions>(s => {
var builder = new MqttServerOptionsBuilder();
configure(builder);
return builder.Build();
});

configure(builder);
services.AddSingleton<IMqttServerOptions>(builder.Build());
services.AddHostedMqttServer();

return services;
}

public static IServiceCollection AddHostedMqttServerWithServices(this IServiceCollection services, Action<AspNetMqttServerOptionsBuilder> configure)
{
services.AddSingleton<IMqttServerOptions>(s => {
var builder = new AspNetMqttServerOptionsBuilder(s);
configure(builder);
return builder.Build();
});

services.AddHostedMqttServer();



Carregando…
Cancelar
Guardar