mirror of
https://github.com/Biarity/Sieve.git
synced 2024-11-24 22:42:30 +01:00
68 lines
2.2 KiB
C#
68 lines
2.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics;
|
|
using System.Linq;
|
|
using Microsoft.AspNetCore.Builder;
|
|
using Microsoft.AspNetCore.Hosting;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.Configuration;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using Sieve.Models;
|
|
using Sieve.Services;
|
|
using SieveTests.Entities;
|
|
using SieveTests.Services;
|
|
|
|
namespace SieveTests
|
|
{
|
|
public class Startup
|
|
{
|
|
public Startup(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.AddMvc();
|
|
|
|
services.AddDbContext<ApplicationDbContext>(options =>
|
|
options.UseSqlServer(Configuration.GetConnectionString("TestSqlServer")));
|
|
|
|
services.Configure<SieveOptions>(Configuration.GetSection("Sieve"));
|
|
|
|
services.AddScoped<ISieveCustomSortMethods, SieveCustomSortMethods>();
|
|
services.AddScoped<ISieveCustomFilterMethods, SieveCustomFilterMethods>();
|
|
services.AddScoped<ISieveProcessor, ApplicationSieveProcessor>();
|
|
}
|
|
|
|
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
|
|
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
|
|
{
|
|
// TIME MEASUREMENT
|
|
var times = new List<long>();
|
|
app.Use(async (context, next) =>
|
|
{
|
|
var sw = new Stopwatch();
|
|
sw.Start();
|
|
await next.Invoke();
|
|
sw.Stop();
|
|
times.Add(sw.ElapsedMilliseconds);
|
|
var text = $"AVG: {(int)times.Average()}ms; AT {sw.ElapsedMilliseconds}; COUNT: {times.Count()}";
|
|
Console.WriteLine(text);
|
|
await context.Response.WriteAsync($"<!-- {text} -->");
|
|
});
|
|
|
|
if (env.IsDevelopment())
|
|
{
|
|
app.UseDeveloperExceptionPage();
|
|
}
|
|
|
|
app.UseMvc();
|
|
}
|
|
}
|
|
}
|