Преглед изворни кода

Merge pull request #402 from JanEggers/AspNetMqttServerOptionsBuilder

added AspNetMqttServerOptionsBuilder
release/3.x.x
Christian пре 6 година
committed by GitHub
родитељ
комит
dd83a360b4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 измењених фајлова са 33 додато и 5 уклоњено
  1. +15
    -0
      Source/MQTTnet.AspnetCore/AspNetMqttServerOptionsBuilder.cs
  2. +18
    -5
      Source/MQTTnet.AspnetCore/ServiceCollectionExtensions.cs

+ 15
- 0
Source/MQTTnet.AspnetCore/AspNetMqttServerOptionsBuilder.cs Прегледај датотеку

@@ -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 Прегледај датотеку

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



Loading…
Откажи
Сачувај