using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using System;
using System.Collections.Generic;
using System.Text;
namespace Grpc.Extension.Common
{
public static class HostBuilderExtensions
{
///
/// UseStartup
///
///
///
///
public static IHostBuilder UseStartup(this IHostBuilder hostBuilder) where TStartup : class
{
hostBuilder.ConfigureServices((ctx, services) => {
//build
services.AddSingleton();
var provider = services.BuildServiceProvider();
//get service
dynamic startup = provider.GetService();
//dynamic invoke
startup.ConfigureServices(services);
});
return hostBuilder;
}
}
}