From 65050307e8056612a7d333ded910cf620c48c51d Mon Sep 17 00:00:00 2001 From: "James.Woodard" Date: Wed, 23 Jan 2019 17:54:52 -0600 Subject: [PATCH 1/2] finished adding debugging as per homework --- .../ToDo/Controllers/ToDoController.cs | 4 ++ .../ToDo/Middleware/LoggerMiddleware.cs | 55 +++++++++++++++++++ Lesson03/StartOfLesson/ToDo/Program.cs | 15 ++++- Lesson03/StartOfLesson/ToDo/Startup.cs | 6 +- 4 files changed, 78 insertions(+), 2 deletions(-) create mode 100644 Lesson03/StartOfLesson/ToDo/Middleware/LoggerMiddleware.cs diff --git a/Lesson03/StartOfLesson/ToDo/Controllers/ToDoController.cs b/Lesson03/StartOfLesson/ToDo/Controllers/ToDoController.cs index 5a36be4..6918058 100644 --- a/Lesson03/StartOfLesson/ToDo/Controllers/ToDoController.cs +++ b/Lesson03/StartOfLesson/ToDo/Controllers/ToDoController.cs @@ -7,10 +7,14 @@ namespace ToDoApp.Controllers { public class ToDoController : Controller { + + // GET: ToDo public ActionResult Index() { + + return View(Repository.ToDos); } diff --git a/Lesson03/StartOfLesson/ToDo/Middleware/LoggerMiddleware.cs b/Lesson03/StartOfLesson/ToDo/Middleware/LoggerMiddleware.cs new file mode 100644 index 0000000..d1d2c0a --- /dev/null +++ b/Lesson03/StartOfLesson/ToDo/Middleware/LoggerMiddleware.cs @@ -0,0 +1,55 @@ +using Microsoft.AspNetCore.Http; +using Microsoft.Extensions.Logging; +using System; +using System.Web; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; + +namespace ToDoApp.Middleware +{ + public class LoggerMiddleware : IMiddleware + { + private readonly ILogger _logger; + public LoggerMiddleware(ILogger logger) + { + _logger = logger; + } + + public async Task InvokeAsync(HttpContext context, RequestDelegate next) + { + + string path = context.Request.Path; + String[] pathParts = path.Split("/"); + string controller = ""; + string action = ""; + string id = ""; + + if (pathParts.Length == 4) + { + controller = pathParts[1]; + action = pathParts[2]; + id = pathParts[3]; + } + + //should only happen when ToDoController has been called + if (controller == "ToDo") + { + //change the message + //show the controller name, action, and id if available + _logger.LogError("controller = " + controller + ". action = " + action + ". id = " + id); + } + + + + + + + await next(context); + } + + + + + } +} \ No newline at end of file diff --git a/Lesson03/StartOfLesson/ToDo/Program.cs b/Lesson03/StartOfLesson/ToDo/Program.cs index 36679b8..d01c1fe 100644 --- a/Lesson03/StartOfLesson/ToDo/Program.cs +++ b/Lesson03/StartOfLesson/ToDo/Program.cs @@ -1,5 +1,6 @@ using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Logging; namespace ToDoApp { @@ -7,7 +8,19 @@ public class Program { public static void Main(string[] args) { - CreateWebHostBuilder(args).Build().Run(); + CreateWebHostBuilder(args) + + .ConfigureLogging((hostingContext, logging) => + { + logging.AddConsole(); + + }) + + + .Build() + + + .Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => diff --git a/Lesson03/StartOfLesson/ToDo/Startup.cs b/Lesson03/StartOfLesson/ToDo/Startup.cs index 40c75b2..8f30690 100644 --- a/Lesson03/StartOfLesson/ToDo/Startup.cs +++ b/Lesson03/StartOfLesson/ToDo/Startup.cs @@ -4,6 +4,8 @@ using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using ToDoApp.Middleware; namespace ToDoApp { @@ -26,7 +28,7 @@ public void ConfigureServices(IServiceCollection services) options.MinimumSameSitePolicy = SameSiteMode.None; }); - + services.AddTransient(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); } @@ -45,6 +47,8 @@ public void Configure(IApplicationBuilder app, IHostingEnvironment env) app.UseStaticFiles(); app.UseCookiePolicy(); + app.UseMiddleware(); + app.UseMvc(routes => { routes.MapRoute( From 8aeab1edc441c4101189e2f8434c0e7006ca031f Mon Sep 17 00:00:00 2001 From: "James.Woodard" Date: Wed, 23 Jan 2019 18:30:24 -0600 Subject: [PATCH 2/2] cleaned up a few lines --- Lesson03/StartOfLesson/ToDo/Program.cs | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/Lesson03/StartOfLesson/ToDo/Program.cs b/Lesson03/StartOfLesson/ToDo/Program.cs index d01c1fe..fc23024 100644 --- a/Lesson03/StartOfLesson/ToDo/Program.cs +++ b/Lesson03/StartOfLesson/ToDo/Program.cs @@ -8,19 +8,7 @@ public class Program { public static void Main(string[] args) { - CreateWebHostBuilder(args) - - .ConfigureLogging((hostingContext, logging) => - { - logging.AddConsole(); - - }) - - - .Build() - - - .Run(); + CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>