#if NETCORE using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Apewer.Web { internal sealed class ApiStartup { public ApiStartup(IConfiguration configuration) { Configuration = configuration; } public IConfiguration Configuration { get; } // This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { //services.AddControllers(); services.AddSingleton(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) app.UseDeveloperExceptionPage(); app.Run(Execute); // app.Run(async (context) => { await context.Response.WriteAsync("Hello World!"); }); } private Task Execute(HttpContext context) { var message = ApiInvoker.Execute(context); return string.IsNullOrEmpty(message) ? Task.CompletedTask : Task.FromException(new Exception()); } } } #endif