diff --git a/src/ProjectTemplates/Web.ProjectTemplates/StarterWeb-FSharp.fsproj.in b/src/ProjectTemplates/Web.ProjectTemplates/StarterWeb-FSharp.fsproj.in
index f9390a53f5..0c33c1025c 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/StarterWeb-FSharp.fsproj.in
+++ b/src/ProjectTemplates/Web.ProjectTemplates/StarterWeb-FSharp.fsproj.in
@@ -7,8 +7,8 @@
-
+
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/Program.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/Program.fs
index 91d8b747cd..78dd7f23b3 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/Program.fs
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/Program.fs
@@ -12,9 +12,7 @@ open Microsoft.Extensions.Hosting
open Microsoft.Extensions.Logging
module Program =
- let exitCode = 0
-
- let CreateHostBuilder args =
+ let createHostBuilder args =
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(fun webBuilder ->
webBuilder.UseStartup() |> ignore
@@ -22,6 +20,6 @@ module Program =
[]
let main args =
- CreateHostBuilder(args).Build().Run()
+ createHostBuilder(args).Build().Run()
- exitCode
+ 0 // Exit code
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/Startup.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/Startup.fs
index 80312fb99a..e728d9a8a5 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/Startup.fs
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/EmptyWeb-FSharp/Startup.fs
@@ -11,16 +11,16 @@ type Startup() =
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
- member this.ConfigureServices(services: IServiceCollection) =
+ member _.ConfigureServices(services: IServiceCollection) =
()
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
- member this.Configure(app: IApplicationBuilder, env: IWebHostEnvironment) =
+ member _.Configure(app: IApplicationBuilder, env: IWebHostEnvironment) =
if env.IsDevelopment() then
app.UseDeveloperExceptionPage() |> ignore
- app.UseRouting() |> ignore
-
- app.UseEndpoints(fun endpoints ->
- endpoints.MapGet("/", fun context -> context.Response.WriteAsync("Hello World!")) |> ignore
+ app.UseRouting()
+ .UseEndpoints(fun endpoints ->
+ endpoints.MapGet("/", fun context ->
+ context.Response.WriteAsync("Hello World!")) |> ignore
) |> ignore
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Controllers/HomeController.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Controllers/HomeController.fs
index 8f7da1f178..f8f6a47b44 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Controllers/HomeController.fs
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Controllers/HomeController.fs
@@ -4,9 +4,13 @@ open System
open System.Collections.Generic
open System.Linq
open System.Threading.Tasks
+open System.Diagnostics
+
open Microsoft.AspNetCore.Mvc
open Microsoft.Extensions.Logging
+open Company.WebApplication1.Models
+
type HomeController (logger : ILogger) =
inherit Controller()
@@ -16,5 +20,12 @@ type HomeController (logger : ILogger) =
member this.Privacy () =
this.View()
+ []
member this.Error () =
- this.View();
+ let reqId =
+ if isNull Activity.Current then
+ this.HttpContext.TraceIdentifier
+ else
+ Activity.Current.Id
+
+ this.View({ RequestId = reqId })
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Models/ErrorViewModel.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Models/ErrorViewModel.fs
index b028e7d4e4..e94d4df9a0 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Models/ErrorViewModel.fs
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Models/ErrorViewModel.fs
@@ -1,8 +1,9 @@
-namespace Company.WebApplication1
+namespace Company.WebApplication1.Models
open System
-type ErrorViewModel private () =
- member val RequestId : string = null with get, set
+type ErrorViewModel =
+ { RequestId: string }
- member val ShowRequestId : bool = true with get, set
+ member this.ShowRequestId =
+ not (String.IsNullOrEmpty(this.RequestId))
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Views/Shared/Error.cshtml b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Views/Shared/Error.cshtml
index a1e04783c6..06c02f4a38 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Views/Shared/Error.cshtml
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/StarterWeb-FSharp/Views/Shared/Error.cshtml
@@ -1,4 +1,5 @@
-@model ErrorViewModel
+@using Company.WebApplication1.Models
+@model ErrorViewModel
@{
ViewData["Title"] = "Error";
}
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherForecastController.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherForecastController.fs
index 45c42e8e12..d701ce64f9 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherForecastController.fs
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Controllers/WeatherForecastController.fs
@@ -13,10 +13,22 @@ open Company.WebApplication1
type WeatherForecastController (logger : ILogger) =
inherit ControllerBase()
- let summaries = [| "Freezing"; "Bracing"; "Chilly"; "Cool"; "Mild"; "Warm"; "Balmy"; "Hot"; "Sweltering"; "Scorching" |]
+ let summaries =
+ [|
+ "Freezing"
+ "Bracing"
+ "Chilly"
+ "Cool"
+ "Mild"
+ "Warm"
+ "Balmy"
+ "Hot"
+ "Sweltering"
+ "Scorching"
+ |]
[]
- member __.Get() : WeatherForecast[] =
+ member _.Get() =
let rng = System.Random()
[|
for index in 0..4 ->
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Startup.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Startup.fs
index 2a0ec457f8..1a44dc3b08 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Startup.fs
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/Startup.fs
@@ -14,32 +14,29 @@ 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
+type Startup(configuration: IConfiguration) =
+ member _.Configuration = configuration
// This method gets called by the runtime. Use this method to add services to the container.
- member this.ConfigureServices(services: IServiceCollection) =
+ member _.ConfigureServices(services: IServiceCollection) =
// Add framework services.
services.AddControllers() |> ignore
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
- member this.Configure(app: IApplicationBuilder, env: IWebHostEnvironment) =
+ member _.Configure(app: IApplicationBuilder, env: IWebHostEnvironment) =
if (env.IsDevelopment()) then
app.UseDeveloperExceptionPage() |> ignore
#if (!NoHttps)
-
- app.UseHttpsRedirection() |> ignore
-#else
-
-#endif
- app.UseRouting() |> ignore
-
- app.UseAuthorization() |> ignore
-
- app.UseEndpoints(fun endpoints ->
- endpoints.MapControllers() |> ignore
+ app.UseHttpsRedirection()
+ .UseRouting()
+ .UseAuthorization()
+ .UseEndpoints(fun endpoints ->
+ endpoints.MapControllers() |> ignore
) |> ignore
-
- member val Configuration : IConfiguration = null with get, set
+#else
+ app.UseRouting()
+ .UseAuthorization()
+ .UseEndpoints(fun endpoints ->
+ endpoints.MapControllers() |> ignore
+ ) |> ignore
+#endif
diff --git a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/WeatherForecast.fs b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/WeatherForecast.fs
index 34e1d8e301..1fbc6e0631 100644
--- a/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/WeatherForecast.fs
+++ b/src/ProjectTemplates/Web.ProjectTemplates/content/WebApi-FSharp/WeatherForecast.fs
@@ -8,4 +8,4 @@ type WeatherForecast =
Summary: string }
member this.TemperatureF =
- 32 + (int (float this.TemperatureC / 0.5556))
+ 32.0 + (float this.TemperatureC / 0.5556)