// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System.IO; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.Abstractions; using Microsoft.Extensions.DependencyInjection; namespace BasicWebSite { public class Startup { // Set up application services public void ConfigureServices(IServiceCollection services) { services .AddMvc( options => { options.Conventions.Add(new ApplicationDescription("This is a basic website.")); }) .AddXmlDataContractSerializerFormatters(); services.AddLogging(); services.AddSingleton(); services.AddSingleton(); services.AddScoped(); services.AddMemoryCache(); services.AddDistributedMemoryCache(); services.AddSession(); } public void Configure(IApplicationBuilder app) { app.UseCultureReplacer(); app.UseStaticFiles(); // Initializes the RequestId service for each request app.UseMiddleware(); app.UseSession(); // Add MVC to the request pipeline app.UseMvc(routes => { routes.MapRoute( "areaRoute", "{area:exists}/{controller}/{action}", new { controller = "Home", action = "Index" }); routes.MapRoute("ActionAsMethod", "{controller}/{action}", defaults: new { controller = "Home", action = "Index" }); }); } public static void Main(string[] args) { var host = new WebHostBuilder() .UseContentRoot(Directory.GetCurrentDirectory()) .UseStartup() .UseKestrel() .UseIISIntegration() .Build(); host.Run(); } } }