Parcourir la source

Merge pull request #402 from JanEggers/AspNetMqttServerOptionsBuilder

added AspNetMqttServerOptionsBuilder
release/3.x.x
Christian il y a 6 ans
committed by GitHub
Parent
révision
dd83a360b4
Aucune clé connue n'a été trouvée dans la base pour cette signature ID de la clé GPG: 4AEE18F83AFDEB23
2 fichiers modifiés avec 33 ajouts et 5 suppressions
  1. +15
    -0
      Source/MQTTnet.AspnetCore/AspNetMqttServerOptionsBuilder.cs
  2. +18
    -5
      Source/MQTTnet.AspnetCore/ServiceCollectionExtensions.cs

+ 15
- 0
Source/MQTTnet.AspnetCore/AspNetMqttServerOptionsBuilder.cs Voir le fichier

@@ -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 Voir le fichier

@@ -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();



Chargement…
Annuler
Enregistrer