aspnetcore/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Startup.fs

53 lines
1.8 KiB
Forth

namespace Company.WebApplication1
open System
open System.Collections.Generic
open System.Linq
open System.Threading.Tasks
open Microsoft.AspNetCore.Builder
open Microsoft.AspNetCore.Hosting
#if (!NoHttps)
open Microsoft.AspNetCore.HttpsPolicy;
#endif
open Microsoft.AspNetCore.Mvc
open Microsoft.Extensions.Configuration
open Microsoft.Extensions.DependencyInjection
open Microsoft.Extensions.Hosting
type Startup private () =
new (configuration: IConfiguration) as this =
Startup() then
this.Configuration <- configuration
// This method gets called by the runtime. Use this method to add services to the container.
member this.ConfigureServices(services: IServiceCollection) =
// Add framework services.
services.AddMvc().AddNewtonsoftJson().AddRazorRuntimeCompilation() |> ignore
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
member this.Configure(app: IApplicationBuilder, env: IWebHostEnvironment) =
if (env.IsDevelopment()) then
app.UseDeveloperExceptionPage() |> ignore
else
app.UseExceptionHandler("/Home/Error") |> ignore
#if (!NoHttps)
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts() |> ignore
app.UseHttpsRedirection() |> ignore
#else
#endif
app.UseStaticFiles() |> ignore
app.UseRouting(fun routes ->
routes.MapControllerRoute(
name = "default",
template = "{controller=Home}/{action=Index}/{id?}") |> ignore
routes.MapRazorPages() |> ignore) |> ignore
app.UseAuthorization() |> ignore
member val Configuration : IConfiguration = null with get, set