123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using Edge.Core.Processor;using Edge.Core.IndustryStandardInterface.Pump;
- using Edge.Core.IndustryStandardInterface.ATG;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.Hosting;
- using Microsoft.Extensions.Logging;
- using Microsoft.Extensions.Logging.Abstractions;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading;
- using System.Threading.Tasks;
- namespace Applications.UniversalApi_WebConsole_App
- {
- public class App : IAppProcessor
- {
- private ILogger logger = NullLogger.Instance;
- private string baseUrl;
-
- public App(IServiceProvider services, string baseUrl)
- {
- this.baseUrl = baseUrl;
- if (services != null)
- {
- var loggerFactory = services.GetRequiredService<ILoggerFactory>();
- this.logger = loggerFactory.CreateLogger("Application");
- }
- }
- public string MetaConfigName { get; set; }
- public void Init(IEnumerable<IProcessor> processors)
- {
- }
- IHost webHost;
- public Task<bool> Start()
- {
- if (string.IsNullOrEmpty(this.baseUrl)) this.baseUrl = "http://localhost:8888/";
- this.webHost = Program.CreateHostBuilder(new string[] { this.baseUrl }).Build();
- this.webHost.RunAsync();
- return Task.FromResult(true);
- }
- public async Task<bool> Stop()
- {
- await this.webHost?.StopAsync();
- this.webHost?.Dispose();
- return true;
- }
- }
- }
|