public RServiceMiddleware(RequestDelegate next, ILoggerFactory logFactory, RService service, IServiceProvider serviceProvider, IOptions <RServiceOptions> options) { _next = next; _logger = logFactory.CreateLogger <RServiceMiddleware>(); _service = service; _serviceProvider = serviceProvider; _options = options.Value; }
/// <summary> /// Constructs a RService service and scans for routes and services in assemblies. /// </summary> /// <param name="options">Configuration options including the assemblies to scan.</param> public RService(IOptions <RServiceOptions> options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } Routes = new Dictionary <string, ServiceDef>(); Options = options.Value; foreach (var assembly in Options.ServiceAssemblies) { ScanAssemblyForRoutes(assembly); } }