Jon HiltonMaking sense of ASP.NEThttps://jonhilton.net/So what’s it all about?https://jonhilton.net/2007/06/07/so-whats-it-all-about/https://jonhilton.net/2007/06/07/so-whats-it-all-about/WatiNhttps://jonhilton.net/2007/06/07/watin/https://jonhilton.net/2007/06/07/watin/Schematronshttps://jonhilton.net/2007/06/07/schematrons/https://jonhilton.net/2007/06/07/schematrons/Scott Guthrie’s Bloghttps://jonhilton.net/2007/06/11/scott-guthries-blog/https://jonhilton.net/2007/06/11/scott-guthries-blog/Test Driven Developmenthttps://jonhilton.net/2007/06/13/test-driven-development/https://jonhilton.net/2007/06/13/test-driven-development/Rhino Mockshttps://jonhilton.net/2007/06/12/rhino-mocks/https://jonhilton.net/2007/06/12/rhino-mocks/Web Client Software Factory 1.1 Releasedhttps://jonhilton.net/2007/06/19/web-client-software-factory-1-1-released/https://jonhilton.net/2007/06/19/web-client-software-factory-1-1-released/Resharperhttps://jonhilton.net/2007/08/02/resharper/https://jonhilton.net/2007/08/02/resharper/The .net Frameworkhttps://jonhilton.net/2007/06/14/the-net-framework/https://jonhilton.net/2007/06/14/the-net-framework/Visual Studio 2008https://jonhilton.net/2007/06/22/visual-studio-2008/https://jonhilton.net/2007/06/22/visual-studio-2008/Upgrading to Visual Studio 2008https://jonhilton.net/2007/08/02/upgrading-to-visual-studio-2008/https://jonhilton.net/2007/08/02/upgrading-to-visual-studio-2008/Nmock Gotcha about Reference Parametershttps://jonhilton.net/2008/01/15/nmock-gotcha-about-reference-parameters/https://jonhilton.net/2008/01/15/nmock-gotcha-about-reference-parameters/ASP.NET process identity does not have read permissions to the global assembly cachehttps://jonhilton.net/2008/01/02/asp-net-process-identity-does-not-have-read-permissions-to-the-global-assembly-cache/https://jonhilton.net/2008/01/02/asp-net-process-identity-does-not-have-read-permissions-to-the-global-assembly-cache/Visual Studio Hotfix rolluphttps://jonhilton.net/2008/03/13/visual-studio-hotfix-rollup/https://jonhilton.net/2008/03/13/visual-studio-hotfix-rollup/Subsonichttps://jonhilton.net/2008/05/20/subsonic/https://jonhilton.net/2008/05/20/subsonic/Shocking Gotcha – ASP.NET user controls not being referencedhttps://jonhilton.net/2008/07/04/shocking-gotcha-asp-net-user-controls-not-being-referenced/https://jonhilton.net/2008/07/04/shocking-gotcha-asp-net-user-controls-not-being-referenced/Log4Net Custom Appenderhttps://jonhilton.net/2008/07/23/log4net-custom-appender/https://jonhilton.net/2008/07/23/log4net-custom-appender/Code 39 Mod 43 Checksumhttps://jonhilton.net/2008/07/31/code-39-mod-43-checksum/https://jonhilton.net/2008/07/31/code-39-mod-43-checksum/'Model *View* Controller'https://jonhilton.net/2008/07/31/model-view-controller/https://jonhilton.net/2008/07/31/model-view-controller/Abstracting your Dependency Injection frameworkhttps://jonhilton.net/2008/08/01/abstracting-your-dependency-injection-framework/https://jonhilton.net/2008/08/01/abstracting-your-dependency-injection-framework/ASP.NET MVC Custom Controlshttps://jonhilton.net/2008/08/04/asp-net-mvc-custom-controls/https://jonhilton.net/2008/08/04/asp-net-mvc-custom-controls/MVC LINQ and OOPhttps://jonhilton.net/2008/11/28/mvc-linq-and-oop/https://jonhilton.net/2008/11/28/mvc-linq-and-oop/'Domain Driven Design: Thought of the day'https://jonhilton.net/2009/01/15/domain-driven-design-thought-of-the-day/https://jonhilton.net/2009/01/15/domain-driven-design-thought-of-the-day/ASP.NET MVC Test Framework integrationhttps://jonhilton.net/2008/08/14/asp-net-mvc-test-framework-integration/https://jonhilton.net/2008/08/14/asp-net-mvc-test-framework-integration/MVC and good software designhttps://jonhilton.net/2008/09/08/mvc-and-good-software-design/https://jonhilton.net/2008/09/08/mvc-and-good-software-design/ASP.NET and JQuery MVC Menu Part 1https://jonhilton.net/2009/04/24/asp-net-and-jquery-mvc-menu-part-1/https://jonhilton.net/2009/04/24/asp-net-and-jquery-mvc-menu-part-1/ASP.NET and JQuery MVC Menu Part 2https://jonhilton.net/2009/10/05/asp-net-and-jquery-mvc-menu-part-2/https://jonhilton.net/2009/10/05/asp-net-and-jquery-mvc-menu-part-2/Fluent NHibernate Gotchahttps://jonhilton.net/2009/10/19/fluent-nhibernate-gotcha/https://jonhilton.net/2009/10/19/fluent-nhibernate-gotcha/BDD with MSpec and Rhino Auto Mocks (part 1)https://jonhilton.net/2009/11/10/bdd-with-mspec-and-rhino-auto-mocks/https://jonhilton.net/2009/11/10/bdd-with-mspec-and-rhino-auto-mocks/'S#arp Architecture WCF Gotcha'https://jonhilton.net/2009/10/19/sarp-architecture-wcf-gotcha/https://jonhilton.net/2009/10/19/sarp-architecture-wcf-gotcha/BDD with MSpec and Rhino Auto Mocks (part 2)https://jonhilton.net/2009/11/19/bdd-with-mspec-and-rhino-auto-mocks-part-2/https://jonhilton.net/2009/11/19/bdd-with-mspec-and-rhino-auto-mocks-part-2/BDD with MSpec and Rhino Auto Mocks (part 3)https://jonhilton.net/2009/11/29/bdd-with-mspec-and-rhino-auto-mocks-part-3/https://jonhilton.net/2009/11/29/bdd-with-mspec-and-rhino-auto-mocks-part-3/MSpec AutoMockinghttps://jonhilton.net/2010/03/17/mspec-automocking/https://jonhilton.net/2010/03/17/mspec-automocking/Posting an Array of Complex types using JQuery, JSON to ASP.NET MVChttps://jonhilton.net/2010/05/26/posting-an-array-of-complex-types-using-jquery-json-to-asp-net-mvc/https://jonhilton.net/2010/05/26/posting-an-array-of-complex-types-using-jquery-json-to-asp-net-mvc/ASP.NET and JQuery MVC Menu Part 3 (AJAX)https://jonhilton.net/2010/07/26/asp-net-and-jquery-mvc-menu-part-3-ajax/https://jonhilton.net/2010/07/26/asp-net-and-jquery-mvc-menu-part-3-ajax/Upgrading to ASP.NET MVC 2/.net 4https://jonhilton.net/2010/07/13/upgrading-to-asp-net-mvc-2-net-4/https://jonhilton.net/2010/07/13/upgrading-to-asp-net-mvc-2-net-4/Azure Local Deployment Service Channel Faultedhttps://jonhilton.net/2013/01/17/azure-local-deployment-service-channel-faulted/https://jonhilton.net/2013/01/17/azure-local-deployment-service-channel-faulted/Rendering razor templates on the flyhttps://jonhilton.net/2015/12/02/rendering-razor-templates-on-the-fly/https://jonhilton.net/2015/12/02/rendering-razor-templates-on-the-fly/'Azure Bites: API App'https://jonhilton.net/2016/01/07/azure-bites-api-app/https://jonhilton.net/2016/01/07/azure-bites-api-app/So what's an API App? Well it's exactly what you think, a way of hosting an API written in your language of choice which can be scaled, secured and documented. Let's get started by creating a brand new API via the Azure Preview Portal.'Azure Bites: Subscriptions'https://jonhilton.net/2016/01/11/azure-bites-subscriptions/https://jonhilton.net/2016/01/11/azure-bites-subscriptions/So you've started using Azure and you're blown away by all the power now resting at your fingertips. One thing you probably want to keep an eye on is cost. Let's find out how to manage your Azure subscriptions.AzureConhttps://jonhilton.net/2016/01/11/azurecon/https://jonhilton.net/2016/01/11/azurecon/In September Microsoft hosted AzureCon, a free virtual event to showcase some of the existing and new features coming to Azure.'Azure Bites: Get your site hosted on Azure for free in 15 minutes or less'https://jonhilton.net/2016/01/14/azure-bites-get-your-site-hosted-on-azure-for-free-in-15-minutes-or-less/https://jonhilton.net/2016/01/14/azure-bites-get-your-site-hosted-on-azure-for-free-in-15-minutes-or-less/Did you know you can host your web sites for free on Azure? Find out how to get your site up on Azure in 15 minutes or so.'Azure Bites: Microservices in Azure'https://jonhilton.net/2016/01/21/microservices-in-azure/https://jonhilton.net/2016/01/21/microservices-in-azure/It seems everyone is talking about them. You want to build scalable reliable software where each component can be considered in isolation and called asynchronously. How does Service Fabric help you create a microservices architecture?How (not) to send emails from your web site – The Problem (Part 1)https://jonhilton.net/2016/02/01/how-not-to-send-emails-from-your-web-site-part-1/https://jonhilton.net/2016/02/01/how-not-to-send-emails-from-your-web-site-part-1/A few years ago I was working on a project where we needed to add email functionality to a web site. You know the drill, a customer fills in their details on the site, clicks Contact Us and an email wings it's way to someone in the office. Read on to find out how not to do it before we look at a better solution using Azure.How (not) to send emails from your web site – Service Bus Queues (Part 2)https://jonhilton.net/2016/02/01/how-not-to-send-emails-from-your-web-site-part-2/https://jonhilton.net/2016/02/01/how-not-to-send-emails-from-your-web-site-part-2/In part 1 we tried (and ultimately failed) to handle customer emails using a database Now we needed to come up with an alternative.How (not) to send emails from your web site – Topics and Subscriptions (Part 3)https://jonhilton.net/2016/02/04/how-not-to-send-emails-from-your-web-site-topics-and-subscriptions-part-3/https://jonhilton.net/2016/02/04/how-not-to-send-emails-from-your-web-site-topics-and-subscriptions-part-3/So we'd got our contact us form working on the web site but now we had another requirement. The boss wanted to know how many customers were using it.'Azure Bites: Background tasks for your web site using Azure WebJobs'https://jonhilton.net/2016/02/18/azure-bites-background-tasks-for-your-web-site-using-azure-webjobs/https://jonhilton.net/2016/02/18/azure-bites-background-tasks-for-your-web-site-using-azure-webjobs/Offloading tasks to run in the background can be really useful. There are times when your users don't need to wait around for a task (such as sending an email) to finish. I recently heard about Azure webjobs and decided to give them a go. It turns out they really simplify your message consuming code and finally get rid of those pesky loops!Why coupling will destroy your application and how to avoid ithttps://jonhilton.net/2016/03/09/why-coupling-will-destroy-your-application-and-how-to-avoid-it/https://jonhilton.net/2016/03/09/why-coupling-will-destroy-your-application-and-how-to-avoid-it/Left unchecked, tight coupling between components (especially when distributed around your application) can slowly kill your software; rendering it hard to maintain and much more likely to suffer from bugs. How can we identify and reduce coupling in our applications?Apply “Tell Don’t Ask” and reduce couplinghttps://jonhilton.net/2016/03/14/apply-tell-dont-ask-and-reduce-coupling/https://jonhilton.net/2016/03/14/apply-tell-dont-ask-and-reduce-coupling/A few days ago I wrote an article on how coupling (when left unchecked) can impact your code. We looked at exceptions and considered the impact of throwing them in one part of your code, to catch them somewhere else. I had some great feedback on that post and one comment in particular regarding the viability of the delegate approach in a more realistic example. Let's remind ourselves where we ended up.'Reduce coupling: Free your code and your tests'https://jonhilton.net/2016/03/29/coupling-tests-production/https://jonhilton.net/2016/03/29/coupling-tests-production/If you’ve ever tried to refactor some code only to find that your tests broke (even though you retained the same functionality) then the chances are your tests were tightly coupled to your implementation.Building Microservices using Azure Service Fabric 2.0https://jonhilton.net/2016/04/13/azure-service-fabric-goes-live/https://jonhilton.net/2016/04/13/azure-service-fabric-goes-live/Azure Service Fabric is now ready for production use. Find out how to create and deploy your first Service Fabric service.What should I learn in order to develop modern asp.net web projects?https://jonhilton.net/2016/05/13/what_should_i-learn-to-develop-modern-asp-net-projects/https://jonhilton.net/2016/05/13/what_should_i-learn-to-develop-modern-asp-net-projects/3 ways to keep your asp.net mvc controllers thinhttps://jonhilton.net/2016/05/23/3-ways-to-keep-your-asp-net-mvc-controllers-thin/https://jonhilton.net/2016/05/23/3-ways-to-keep-your-asp-net-mvc-controllers-thin/You've been told that you should keep your asp.net controllers thin, that there shouldn't be any logic in them, that testing controllers is pointless. Here are three ways to reduce the logic living in your controllers.Simplify your controllers with the Command Pattern and MediatRhttps://jonhilton.net/2016/06/06/simplify-your-controllers-with-the-command-pattern-and-mediatr/https://jonhilton.net/2016/06/06/simplify-your-controllers-with-the-command-pattern-and-mediatr/Keep your controllers thin using the command pattern and MediatR3 ways to spot if your controller is doing too muchhttps://jonhilton.net/2016/06/22/spot-if-your-controller-is-doing-too-much/https://jonhilton.net/2016/06/22/spot-if-your-controller-is-doing-too-much/I've always heard that you should keep your controllers skinny. It's true, keeping your controllers thin is a good idea, but why?How to easily extend your app using MediatR notificationshttps://jonhilton.net/2016/08/31/how-to-easily-extend-your-app-using-mediatr-notifications/https://jonhilton.net/2016/08/31/how-to-easily-extend-your-app-using-mediatr-notifications/Probably the biggest question you face as a developer every single day is where to put your code? MediatR notifications can help answer this question.Not sure what to learn next?https://jonhilton.net/2016/11/24/not-sure-what-to-learn-next/https://jonhilton.net/2016/11/24/not-sure-what-to-learn-next/Another day, another framework. Should you learn NET or .NET Core, Angular 2 or React? Follow these simple steps to help make your decision.How to get data from an HTML form to your ASP.NET MVC Core Controllerhttps://jonhilton.net/2017/08/17/how-to-get-data-from-an-html-form-to-your-asp.net-mvc-core-controllerhttps://jonhilton.net/2017/08/17/how-to-get-data-from-an-html-form-to-your-asp.net-mvc-core-controllerYour web application is likely going to handle user input at some point. Find out how ASP.NET Core Tag Helpers make this trivial whilst saving you from making easy mistakes.A simple way to secure your .NET Core 2.0 web apphttps://jonhilton.net/2017/10/07/a-simple-way-to-secure-your-.net-core-2.0-web-app/https://jonhilton.net/2017/10/07/a-simple-way-to-secure-your-.net-core-2.0-web-app/Do the simplest possible thing to restrict parts of your ASP.NET Core 2.0 web site to authenticated users onlyDealing with legacy .NET applications that seem impossible to improvehttps://jonhilton.net/https://jonhilton.net/When your days are spent wrestling with a large legacy code base and you just want to make it a little less painful.8 practical tips for learning ASP.NET Core MVChttps://jonhilton.net/2018/01/11/8-practical-tips-for-learning-asp.net-core-mvc/https://jonhilton.net/2018/01/11/8-practical-tips-for-learning-asp.net-core-mvc/Start off on the right foot when it comes to learning ASP.NET Core MVCFrom WebForms to MVC, the first 10 minuteshttps://jonhilton.net/from-webforms-to-mvc/https://jonhilton.net/from-webforms-to-mvc/Just because it feels like everyone is off building shiny new apps using ASP.NET Core 2.x the truth is there are still plenty of us spending at least some of our days working with legacy (and sometimes not so legacy) apps built using WebFormsStuck for inspiration with your .net projects?https://jonhilton.net/where-to-find-net-project-examples/https://jonhilton.net/where-to-find-net-project-examples/Become a virtual fly on the wall and explore real-world .net projects from the comfort of your own computerPre-populate a textbox using ASP.NET Core MVChttps://jonhilton.net/2018/02/05/pre-populate-a-textbox-using-asp.net-core-mvc/https://jonhilton.net/2018/02/05/pre-populate-a-textbox-using-asp.net-core-mvc/ASP.NET MVC can prove really difficult to learn. Sometimes it feels like even the simplest of tasks (showing text in a textbox) turns into hours of research, conflicting opinions and seemingly endless libraries to choose from...Add React.js to your existing asp.net applicationhttps://jonhilton.net/use-react-in-your-existing-asp-net-app/https://jonhilton.net/use-react-in-your-existing-asp-net-app/Why can't you just add one React view to your existing asp.net app? Turns out you can.Can't remember what CORS code to put in your startup.cs?https://jonhilton.net/corsdotnet/https://jonhilton.net/corsdotnet/What's that code to configure CORS for your ASP.NET application again?Check the versions of ASP.NET Core available to your Azure App Servicehttps://jonhilton.net/2018/09/26/check-the-versions-of-asp.net-core-available-to-your-azure-app-service/https://jonhilton.net/2018/09/26/check-the-versions-of-asp.net-core-available-to-your-azure-app-service/Quickly check which versions of ASP.NET Core are available in Azure app servicesDifferent js scripts for different ASP.NET core environmentshttps://jonhilton.net/different-js-scripts-for-different-asp-net-core-environments/https://jonhilton.net/different-js-scripts-for-different-asp-net-core-environments/It makes sense to reference the dev version of a .js library on your machine, but what about when you go live?What to focus on when learning ASP.NEThttps://jonhilton.net/jobs/https://jonhilton.net/jobs/If you're setting out to learn ASP.NET in 2018, you're probably wondering where to beginWhat to focus on when learning ASP.NET Core?https://jonhilton.net/what-to-focus-on-when-learning-aspnet/https://jonhilton.net/what-to-focus-on-when-learning-aspnet/I'm at a bit of a loss for what I should be focusing on when learning ASP.NET...Want to move to full-stack development but not sure where to start?https://jonhilton.net/move-to-full-stack-development/https://jonhilton.net/move-to-full-stack-development/There was a time when spinning up a web page was simple. It's fair to say things have become a tad more complicated in recent times.Typescript and React: Lambdas are forbidden?https://jonhilton.net/typescript-and-react-forbidden-lambdas/https://jonhilton.net/typescript-and-react-forbidden-lambdas/When you follow React Tutorials you'll see lots of Lambdas but try to use them in your own code and you'll likely run into errors.Use Action Filters to cut down your context.SaveChanges callshttps://jonhilton.net/use-action-filters-to-cut-down-your-context-savechanges-calls/https://jonhilton.net/use-action-filters-to-cut-down-your-context-savechanges-calls/Use ASP.NET Core's action filters to save your keystrokesBest way to spin up a React plus ASP.NET Core Web API Application?https://jonhilton.net/create-react-application-with-aspnet-core-web-api/https://jonhilton.net/create-react-application-with-aspnet-core-web-api/Adding tons of code without understanding why...https://jonhilton.net/3-tips-for-learning-mvc/https://jonhilton.net/3-tips-for-learning-mvc/Trying to learn ASP.NET Core MVC? 3 Tips for better learningSimple Background Jobs With Hangfire and ASP.NET Corehttps://jonhilton.net/simple-background-jobs-with-hangfire-and-aspnet-core/https://jonhilton.net/simple-background-jobs-with-hangfire-and-aspnet-core/Need to schedule a job or two? Hangfire and ASP.NET Core make it a lot easier.How to use Typescript with the ASP.NET Core 2.x React Project Templatehttps://jonhilton.net/new-aspnet-core-react-project/https://jonhilton.net/new-aspnet-core-react-project/The ASP.NET Core React template doesn't support using Typescript out of the box but you can enable this yourself with a few steps.The ASP.NET Core Form Tag Helpers Cheat Sheethttps://jonhilton.net/aspnet-core-forms-cheat-sheet/https://jonhilton.net/aspnet-core-forms-cheat-sheet/Get data from your html forms to your ASP.NET application with a little help from Tag Helpers (new in ASP.NET Core)WTF Is a Lambda?https://jonhilton.net/2019/01/30/wtf-is-a-lambda/https://jonhilton.net/2019/01/30/wtf-is-a-lambda/When you first see a Lambda you might be left scratching your head, wondering what on earth that funky syntax is all about?!WTF is an Action Delegate?https://jonhilton.net/what-is-an-action-delegate/https://jonhilton.net/what-is-an-action-delegate/How can you swap in different behaviours for a function? One way is to use C#'s Action DelegatesA gentle introduction to Blazor Serverhttps://jonhilton.net/what-are-razor-components/https://jonhilton.net/what-are-razor-components/What is Blazor Server? Why might you use it?Building a like button using Blazor Serverhttps://jonhilton.net/build-a-like-button-using-razor-components/https://jonhilton.net/build-a-like-button-using-razor-components/How to compose Blazor Server components together and pass events between themMediatR and Blazor Server?https://jonhilton.net/mediatr-and-razor-components/https://jonhilton.net/mediatr-and-razor-components/can we use Blazor Server and MediatR together? Why yes, yes we can.Starting out with the ASP.NET Core React templatehttps://jonhilton.net/understanding-the-asp-net-react-template/https://jonhilton.net/understanding-the-asp-net-react-template/What's with all the files?But, which flavor of ASP.NET?https://jonhilton.net/picking-the-right-flavor-of-asp-net/https://jonhilton.net/picking-the-right-flavor-of-asp-net/Blazor, Razor, MVC... what does it all mean?!There's a buzz about Blazor - Here's whyhttps://jonhilton.net/blazor-buzz/https://jonhilton.net/blazor-buzz/People are talking about Blazor but will it ever really replace JS?Starting out with the ASP.NET Core React template (part 3 - Separating out the frontend)https://jonhilton.net/separate-the-aspnet-core-template-frontend-and-backend/https://jonhilton.net/separate-the-aspnet-core-template-frontend-and-backend/How to run the frontend and backend parts of the ASP.NET Core React project template separatelyStarting out with the ASP.NET Core React template (part 2 - Web API)https://jonhilton.net/understanding-the-asp-net-react-template-web-api/https://jonhilton.net/understanding-the-asp-net-react-template-web-api/How does the ASP.NET Core part of the ASP.NET Core React template actually work?Build your featureshttps://jonhilton.net/2016/07/07/build-your-features/https://jonhilton.net/2016/07/07/build-your-features/Don't let up-front decisions about your application's architecture detract from creating something which your users can actually try out for themselvesBuild your .NET Core app using Yeomanhttps://jonhilton.net/2016/10/26/building_net_core_app_using_yeoman/https://jonhilton.net/2016/10/26/building_net_core_app_using_yeoman/Create your .NET Core application quickly using Yeoman.Create an Angular 2 and .NET Core app that can be edited using Visual Studio 2017https://jonhilton.net/2017/02/21/create-a-vs2017-angular-2-and-net-core-site-using-the-command-line/https://jonhilton.net/2017/02/21/create-a-vs2017-angular-2-and-net-core-site-using-the-command-line/A quick way to create a new Angular 2 .NET Core web application that can be edited in Visual Studio 2017.Creating a new .NET Core web application, what are your options?https://jonhilton.net/2016/10/19/creating-a-new-net-core-web-application-what-are-your-options/https://jonhilton.net/2016/10/19/creating-a-new-net-core-web-application-what-are-your-options/You want to jump on board the .NET Core train and you're wondering how best to create your first project. Here are three ways to do just that.Is Entity Framework Core Production Ready?https://jonhilton.net/2016/11/09/is-entity-framework-core-production-ready/https://jonhilton.net/2016/11/09/is-entity-framework-core-production-ready/Building a .NET Core app and want to know whether EF Core is ready for showtime yet? It might be, but don't rule out other options.Making sense of the different versions of .NET Core (runtime and SDK)https://jonhilton.net/2017/04/17/making-sense-of-the-different-versions-of-net-core-runtime-and-sdk/https://jonhilton.net/2017/04/17/making-sense-of-the-different-versions-of-net-core-runtime-and-sdk/.NET Core has seen many changes during it's development from alpha to production, so which version of the runtime and SDK should you be using?Should I learn .NET Core?https://jonhilton.net/2016/09/28/should-i-learn-net-core/https://jonhilton.net/2016/09/28/should-i-learn-net-core/Not sure if you should learn .NET Core yet? It's new, shiny and all the cool kids are using it, but is Core right for you?Use ASP.NET Core 1.1 with .NET 4.6 (without Visual Studio)https://jonhilton.net/2017/03/14/use-asp-net-core-1-1-with-net-4-without-visual-studio/https://jonhilton.net/2017/03/14/use-asp-net-core-1-1-with-net-4-without-visual-studio/If you want to try out ASP.NET Core but still target the full framework (e.g. 4.x) you can. All you need is a simple tweak to your .csproj file.Use ASP.NET Core to cut the number of controllers in your web apphttps://jonhilton.net/2016/07/03/use-asp-net-core-to-cut-the-number-of-controllers-in-your-web-app/https://jonhilton.net/2016/07/03/use-asp-net-core-to-cut-the-number-of-controllers-in-your-web-app/Use ASP.NET Core to co-locate actions which return Views and those which return data in the same controller.10 Blazor component libraries to speed up your developmenthttps://jonhilton.net/blazor-component-libraries/https://jonhilton.net/blazor-component-libraries/Sometimes you just don't have the time (or CSS skills) to build every component from scratch...Blazor by Example - Build a simple traffic lighthttps://jonhilton.net/blazor-traffic-light/https://jonhilton.net/blazor-traffic-light/Have a spare 10 minutes? Build a simple traffic light component and discover how Blazor's model binding works...Blazor by Example - A spot of refactoringhttps://jonhilton.net/blazor-traffic-light-refactor/https://jonhilton.net/blazor-traffic-light-refactor/Sometimes you just don't need the enum...Blazor by Example - Build a simple markdown editorhttps://jonhilton.net/blazor-markdown-editor/https://jonhilton.net/blazor-markdown-editor/Building a Blazor text editor with markdown support and instant preview is easier than you thinkBlazor by Example - A dismissable bannerhttps://jonhilton.net/blazor-banner/https://jonhilton.net/blazor-banner/How do you store simple state in a Blazor app, such as whether a user has dismissed a banner or not?Going virtualhttps://jonhilton.net/virtual-user-groups/https://jonhilton.net/virtual-user-groups/Taking .Net user groups and conferences onlineEscaping WebForms is a tough gig, Blazor might have the solutionhttps://jonhilton.net/migrate-webforms-to-blazor/https://jonhilton.net/migrate-webforms-to-blazor/Avoiding the big (Blazor) rewrite in the skyCSS is hard, Blazor and Tailwind CSS makes it easierhttps://jonhilton.net/re-usable-components-with-blazor-and-tailwind-css/https://jonhilton.net/re-usable-components-with-blazor-and-tailwind-css/Make re-usable components that look decent without the usual CSS headaches.Quickly transform any mockup or design into a working Blazor prototypehttps://jonhilton.net/build-anything-using-blazor-components/https://jonhilton.net/build-anything-using-blazor-components/Even complicated applications can be broken down into small components, making them much less daunting to build.Avoid these common pitfalls when building your Blazor apps using componentshttps://jonhilton.net/avoid-these-blazor-component-pitfalls/https://jonhilton.net/avoid-these-blazor-component-pitfalls/Building in components is liberating, but you can still box yourself into a corner if you're not careful. Here's a couple of pitfalls to avoid.How easy is it to build a Marvel search engine with Blazor?https://jonhilton.net/blazor-wasm-calling-a-api/https://jonhilton.net/blazor-wasm-calling-a-api/Blazor WASM is here, but just how quickly can you go from dotnet new to something useful up and running in the browser?3+1 ways to manage state in your Blazor applicationhttps://jonhilton.net/blazor-state-management/https://jonhilton.net/blazor-state-management/As soon as you have more than one Blazor component you need to think how you'll communicate between them.Go faster with your own re-usable Blazor componentshttps://jonhilton.net/build-your-own-re-usable-blazor-components/https://jonhilton.net/build-your-own-re-usable-blazor-components/You can easily avoid re-inventing the same wheels over and over when you break your UI down into re-usable componentsBlazor EditForms, an essential tool or too much magic?https://jonhilton.net/why-use-blazor-edit-forms/https://jonhilton.net/why-use-blazor-edit-forms/Are Blazor's EditForms better than the alternative or do they do too much?Custom validation logic on client AND server with Blazor?https://jonhilton.net/blazor-client-server-validation-with-fluentvalidation/https://jonhilton.net/blazor-client-server-validation-with-fluentvalidation/It would be pretty handy if you could write one validator and have your validation rules run seamlessly on both client and server...Pimp up your Blazor EditForms with Tailwind CSS!https://jonhilton.net/pimp-up-blazor-edit-forms-with-tailwind-css/https://jonhilton.net/pimp-up-blazor-edit-forms-with-tailwind-css/EditForms are a unstyled by default, so it falls to you to make your forms pop!Make a responsive Navbar with Blazor and Tailwind?https://jonhilton.net/responsive-blazor-navbar/https://jonhilton.net/responsive-blazor-navbar/You know those clever navbar menus which collapse to a burger icon on smaller resolutions? Here's how you can build one using Blazor and Tailwind CSSEdit and Replay your network requests, direct from the browserhttps://jonhilton.net/debuggable-network-requests/https://jonhilton.net/debuggable-network-requests/Half the battle with building a client-side web app (using Blazor, React etc) is figuring out what calls are being made to the network. Now you can see but also edit those requests and replay them...Making Scott Hanselman's Powerpoint Greenscreen trick work with RevealJS via Blazor Serverhttps://jonhilton.net/obs-revealjs-greenscreen/https://jonhilton.net/obs-revealjs-greenscreen/Scott Hanselman did this neat thing with OBS and Powerpoint to put himself in his slides. Here's a version which works with RevealJS via Blazor ServerRender diagrams on the fly in your Blazor appshttps://jonhilton.net/blazor-diagrams/https://jonhilton.net/blazor-diagrams/Render diagrams based on a text representation in your Blazor projectsWhen does Blazor decide to render your UI?https://jonhilton.net/when-does-blazor-render-your-ui/https://jonhilton.net/when-does-blazor-render-your-ui/Sometimes Blazor needs a nudge to renderUpdate the HTML head from your Blazor componentshttps://jonhilton.net/blazor-update-html-head/https://jonhilton.net/blazor-update-html-head/Setting the title for your Blazor apps just got much easierFrom site.css to component styleshttps://jonhilton.net/blazor-css-isolation/https://jonhilton.net/blazor-css-isolation/You don't have to put all your styles in one big stylesheet any more!Render Blazor WASM components in your existing MVC/Razor Pages applicationshttps://jonhilton.net/blazor-wasm-in-razor-pages/https://jonhilton.net/blazor-wasm-in-razor-pages/You can render individual Blazor WASM components in your existing Razor Pages (or MVC) Core app.Prerendering your Blazor WASM application with .NET 5 (part 2 - solving the missing HttpClient problem)https://jonhilton.net/blazor-wasm-prerendering-missing-http-client/https://jonhilton.net/blazor-wasm-prerendering-missing-http-client/If you refresh your prerendered Blazor WASM site today you're in for a big surprise...Prerendering your Blazor WASM application with .NET 5 (part 1)https://jonhilton.net/blazor-wasm-prerendering/https://jonhilton.net/blazor-wasm-prerendering/With a small tweak you can have your site appear near instantly so your users aren't left hanging while the rest of your application downloadsIf passing data between your Blazor components is too painful...https://jonhilton.net/blazor-fluxor/https://jonhilton.net/blazor-fluxor/Sharing information between Blazor components can be painful, Fluxor might helpIs it possible to render components dynamically using Blazor?https://jonhilton.net/blazor-dynamic-components/https://jonhilton.net/blazor-dynamic-components/Because life's not complicated enough already!Does .NET 6 fix Blazor Prerendering?https://jonhilton.net/blazor-prerendering-net6/https://jonhilton.net/blazor-prerendering-net6/Prerendering eradicates Blazor WASM's initial load time and .NET 6 addresses its one key limitationSure, you could write all those Blazor HTTP calls yourself...https://jonhilton.net/blazor-refit/https://jonhilton.net/blazor-refit/Writing boilerplate API client code is deadly dull and repetitive, Refit will do it for youWith so many Blazor Component Libraries, which one is best for you?https://jonhilton.net/choosing-a-blazor-component-library/https://jonhilton.net/choosing-a-blazor-component-library/There's no shortage of component libraries available for Blazor, but how do you figure out which one you should use?Dark mode for your web applications (using Blazor and Tailwind CSS)https://jonhilton.net/blazor-tailwind-dark-mode/https://jonhilton.net/blazor-tailwind-dark-mode/Eyestrain is a real problem; help your users by adapting your site to their dark mode preferencesTests are hard, LightBDD can helphttps://jonhilton.net/better-csharp-tests-lightbdd/https://jonhilton.net/better-csharp-tests-lightbdd/You know you should write more tests, but it's not that easy...When to refactor a large Blazor component into separate, smaller ones?https://jonhilton.net/refactor-to-components/https://jonhilton.net/refactor-to-components/Don't rush to break your UI down into separate components (too soon)Razor Pages has Components too don't you know!https://jonhilton.net/razor-pages-components/https://jonhilton.net/razor-pages-components/Components are really useful for breaking down your UI into smaller pieces, and Blazor uses them extensively, but what if you're using Razor Pages?Three ways to hack your brain to notice the small detailshttps://jonhilton.net/diagnosing-errors-in-your-code/https://jonhilton.net/diagnosing-errors-in-your-code/Ever spent hours trying to figure out why your app isn't working, only to spot the typo you made a few hours earlier?Persisting your users preferences using Blazor and Local Storagehttps://jonhilton.net/blazor-tailwind-dark-mode-local-storage/https://jonhilton.net/blazor-tailwind-dark-mode-local-storage/Now your app supports dark mode, let's make sure your visitors only have to choose it once (or ideally, not at all)Double down on the fundamentals to unblock your projects (current and future)https://jonhilton.net/development-fundamentals/https://jonhilton.net/development-fundamentals/Frameworks come and go but fundamentals are foreverBuild, refactor, repeathttps://jonhilton.net/refactoring/https://jonhilton.net/refactoring/Refactor to simplify your code and make it easier to extendHow to set focus on specific html elements when navigating between pages in your Blazor app (with .NET 6)https://jonhilton.net/focus-blazor/https://jonhilton.net/focus-blazor/Automatically set the UI focus to a specific element when you navigate between pages...How I organise my Blazor componentshttps://jonhilton.net/blazor-component-folder-structure/https://jonhilton.net/blazor-component-folder-structure/Consistency is key and make your components work harder to prove they're actually the 'same thing'Missing Blazor intellisense in VS2022? You may be running into this problemhttps://jonhilton.net/visual-studio-2022-blazor-css-intellisense/https://jonhilton.net/visual-studio-2022-blazor-css-intellisense/The new Razor editor in Visual Studio 2022 doesn't currently provide intellisense for stylesheets you reference from external sources like NuGet packages…Use Tailwind's new JIT mode when developing Blazor applicationshttps://jonhilton.net/tailwind3-blazor/https://jonhilton.net/tailwind3-blazor/Tailwind 3 automatically scans your site for html files, Blazor components, other templates in order to generate a static CSS file for your site, but it's a faff to launch Tailwind and your Blazor app separately...Go faster with mockupshttps://jonhilton.net/build-faster-with-mockups/https://jonhilton.net/build-faster-with-mockups/Struggling to get in to a feature, or know where to start? Try sketching out a mockup.Think big, start smallhttps://jonhilton.net/think-big-start-small/https://jonhilton.net/think-big-start-small/Big feels overwhelming so start small and go from there.Conditional Blazor Styles (without the if statements)https://jonhilton.net/conditional-blazor-css/https://jonhilton.net/conditional-blazor-css/Sometimes you'll want your Blazor UI to change according to the data you're using to populate itStruggling to get going with a new feature? Start with the HTMLhttps://jonhilton.net/start-with-html/https://jonhilton.net/start-with-html/Build the skeleton and fill in the details from thereUse the Query String to pass an array of selected values between Blazor Pageshttps://jonhilton.net/blazor-deep-linking/https://jonhilton.net/blazor-deep-linking/Make your Blazor app support deep linking by passing state in the Query StringWait until the last responsible moment to add structure to your Blazor UIhttps://jonhilton.net/delay-adding-structure/https://jonhilton.net/delay-adding-structure/Prioritise the ability to iterate and evolve your UIUse a recursive Blazor component to render a TreeViewhttps://jonhilton.net/blazor-tree-view/https://jonhilton.net/blazor-tree-view/How to render nested nodes in a TreeViewUsing .NET 7's Blazor Custom Elements to render dynamic contenthttps://jonhilton.net/blazor-custom-elements/https://jonhilton.net/blazor-custom-elements/Render Blazor components from dynamic content, at runtime?Inject content into your Blazor components with typed Render Fragmentshttps://jonhilton.net/blazor-render-fragments/https://jonhilton.net/blazor-render-fragments/Maintain clear separation between your components and inject the markup you needWhat happens when you navigate to the same page in Blazor?https://jonhilton.net/blazor-navigation-same-page/https://jonhilton.net/blazor-navigation-same-page/When you navigate to the same component in Blazor it will bypass some of the component lifecycle eventsAre you sure you need that 'else'https://jonhilton.net/blazor-components/https://jonhilton.net/blazor-components/Blazor's component model can make you a lot more productive, if you let it…Blazor Changes in .NET 8 - Solving Blazor's biggest challenges?https://jonhilton.net/blazor-united/https://jonhilton.net/blazor-united/Blazor Server and WASM both have trade-offs, Blazor United looks set to tackle those and make Blazor a viable framework for all your web development needs.Your Blazor component needs data in a certain format, where to Map?https://jonhilton.net/mapping/https://jonhilton.net/mapping/Data coming from another service/API needs to be mapped into a different type for your Blazor component, so where should you perform the mapping?Good (Blazor) Components are...https://jonhilton.net/good-blazor-components/https://jonhilton.net/good-blazor-components/Components, done right carry tremendous potential to speed up your web development, but get it wrong and you'll miss out on all the potential benefitsState Hasn't Changed? Why and when Blazor components re-renderhttps://jonhilton.net/blazor-rendering/https://jonhilton.net/blazor-rendering/Sure you could just keep throwing StateHasChanged calls at your component until it finally re-renders, but what's really going on behind the scenes?Need your Blazor sibling components to talk to each other?https://jonhilton.net/blazor-sibling-communication/https://jonhilton.net/blazor-sibling-communication/How to handle Component A needs to talk to Component B challenges in BlazorShared models - Blazor's (not so) secret super powerhttps://jonhilton.net/blazor-shared-models/https://jonhilton.net/blazor-shared-models/Fed up of your javascript application breaking when you change your back end models? Blazor has an answer for that.How to learn Blazor when you don't use it for your day jobhttps://jonhilton.net/learn-blazor-when-not-your-day-job/https://jonhilton.net/learn-blazor-when-not-your-day-job/Your day job is energy-sapping enough, how can you still find the time and energy to keep up with new developments like Blazor?Blazor - Where to put your domain logichttps://jonhilton.net/blazor-architecture/https://jonhilton.net/blazor-architecture/Muddle up your business logic and presentation concerns and you're making life a lot harder for yourself...Is Blazor actually any good, beyond demo-warehttps://jonhilton.net/blazor-any-good/https://jonhilton.net/blazor-any-good/So Blazor is getting plenty of attention at the moment, but is it actually any good?Use Blazor in your existing ASP.NET Core 3.x applicationhttps://jonhilton.net/use-blazor-in-existing-app/https://jonhilton.net/use-blazor-in-existing-app/You don't have to bet the farm on Blazor, it might be easier to start small and add Blazor components to the apps you already haveSeparating concerns using Razor Pageshttps://jonhilton.net/razor-pages-separation-of-concerns/https://jonhilton.net/razor-pages-separation-of-concerns/You don't have to write all your code in the .cs file that comes with your Razor Pages.MVC vs Razor Pages - A quick comparisonhttps://jonhilton.net/razor-pages-or-mvc-a-quick-comparison/https://jonhilton.net/razor-pages-or-mvc-a-quick-comparison/If you're learning ASP.NET in this brave new .NET Core world and you want to build server-side web applications then it's a straight fight between MVC and Razor Pages.Keep your ASP.NET Core application’s secrets safe during developmenthttps://jonhilton.net/2017/06/07/keep-your-asp-dot-net-application-secrets-safe/https://jonhilton.net/2017/06/07/keep-your-asp-dot-net-application-secrets-safe/You're building an ASP.NET Core web application and you need a way to store sensitive configuration details. ASP.NET Core User Secrets provide a solution.Keep your ASP.NET Core secrets safe in production using Azure Application Settingshttps://jonhilton.net/2017/06/28/keep-your-asp-net-core-secrets-safe-in-production-using-azure-application-settings/https://jonhilton.net/2017/06/28/keep-your-asp-net-core-secrets-safe-in-production-using-azure-application-settings/Provide values for your ASP.NET Core app to use at run-time using Azure Application Settings (easily configured via the Azure Portal).Login & Authentication for your ASP.NET Core Web API – The Big Picturehttps://jonhilton.net/2017/05/03/login-authentication-asp-net-core-web-api-big-picture/https://jonhilton.net/2017/05/03/login-authentication-asp-net-core-web-api-big-picture/You're building an ASP.NET Core Web API and you need to make it secure. What are your options for user login and authentication?Secure your ASP.NET Core MVC and Web API app using Googlehttps://jonhilton.net/2017/05/10/secure-you-asp-net-core-mvc-and-web-api-app-using-google/https://jonhilton.net/2017/05/10/secure-you-asp-net-core-mvc-and-web-api-app-using-google/Often you need to restrict parts of your .NET Core Web app to authorized users. But how can you do that using ASP.NET Core Authentication and Angular?Don't rush to build that re-usable Blazor componenthttps://jonhilton.net/blazor-shared-components/https://jonhilton.net/blazor-shared-components/Bad abstractions slow you down, the trick is to start specificFrom Zero to Hero? Building a tiny app from scratch using Blazor and .NET 8https://jonhilton.net/net8-blazor-from-scratch/https://jonhilton.net/net8-blazor-from-scratch/Does .NET 8 and Blazor help you be more productive?https://jonhilton.net/blazor-docker-hosting/https://jonhilton.net/blazor-docker-hosting/Deploy your containerised Blazor app to Digital Ocean's App Platformhttps://jonhilton.net/blazor-digital-ocean/https://jonhilton.net/blazor-digital-ocean/How to migrate your Blazor Server app to .NET 8https://jonhilton.net/blazor-net8-migration/https://jonhilton.net/blazor-net8-migration/What does it take to migrate your pre .NET 8 Blazor server app to the new frameworkHow to accept Stripe payments via Blazor in .NET 8https://jonhilton.net/blazor-stripe/https://jonhilton.net/blazor-stripe/Present a checkout form and handle paymentsWhen a form is actually... oh it's a formhttps://jonhilton.net/blazor-search-page/https://jonhilton.net/blazor-search-page/It's easy to over-complicate front end development. Sometimes you just need a form.Do ASP.NET Web Applications play nice with Fly.io?https://jonhilton.net/blazor-fly-io/https://jonhilton.net/blazor-fly-io/Fly.io promises fast, scalable hosting, but does it work with .NET, and what about Blazor?Identify users and their permissions with JWTs and ASP.NET Core WebAPIhttps://jonhilton.net/identify-users-permissions-with-JWTs-and-ASP-NET-Core-WebAPI/https://jonhilton.net/identify-users-permissions-with-JWTs-and-ASP-NET-Core-WebAPI/Need to restrict access to specific parts of your Web API when using JWTs for authentication? Claims and Policies are one answer.Where to fetch data in your Blazor componentshttps://jonhilton.net/blazor-fetch-data/https://jonhilton.net/blazor-fetch-data/More components more problems?Secure your ASP.NET Core 2.0 API (part 1 - issuing a JWT)https://jonhilton.net/2017/10/11/secure-your-asp.net-core-2.0-api-part-1---issuing-a-jwt/https://jonhilton.net/2017/10/11/secure-your-asp.net-core-2.0-api-part-1---issuing-a-jwt/How to secure your ASP.NET Core 2.0 API, even if the only client is your own front-end appTackle more complex security policies for your ASP.NET Core apphttps://jonhilton.net/complex-aspnet-core-custom-security-policies/https://jonhilton.net/complex-aspnet-core-custom-security-policies/Sometimes your boss is going to come at you with if it's tuesday and it's raining type security requirements and ASP.NET Core's custom policies can help you implement those requirements without breaking a sweat.Secure your ASP.NET Core 2.0 API (part 2 - restrict access to JWT bearers only)https://jonhilton.net/2017/10/11/secure-your-asp.net-core-2.0-api-part-1---issuing-a-jwthttps://jonhilton.net/2017/10/11/secure-your-asp.net-core-2.0-api-part-1---issuing-a-jwtRestrict access to your ASP.NET Core web api (no JWT, no access)Blazor Server Reconnection Gets an Upgrade in .NET 10https://jonhilton.net/blazor-server-reconnection-dotnet-10/https://jonhilton.net/blazor-server-reconnection-dotnet-10/The reconnection experience for Blazor Server in .NET 10 is set to be less intrusive and more easily customized than in previous releases, with persistent state and improved UI controls.What humans and Github Co-Pilot have in commonhttps://jonhilton.net/humans-vs-ai/https://jonhilton.net/humans-vs-ai/Beyond chat - a quick way to bring AI to your Blazor Web Apphttps://jonhilton.net/ai/https://jonhilton.net/ai/AI as an engine to power your .NET web app?Add MVC to your ASP.NET 1.1 application using the dotnet command linehttps://jonhilton.net/2017/03/31/add-mvc-to-your-asp-net-1-1-application-using-the-dotnet-command-line/https://jonhilton.net/2017/03/31/add-mvc-to-your-asp-net-1-1-application-using-the-dotnet-command-line/If you're using Visual Studio Code or another text editor to work on your ASP.NET Core web app then you'll want to know how to add (and start using) MVC.Before you spend ages building your SaaShttps://jonhilton.net/marketing-honest-talk/https://jonhilton.net/marketing-honest-talk/A quick, honest chat about the pitfalls of building your own SaaS product as a developer.Create a minimal ASP.NET Core 1.1 web application using the command linehttps://jonhilton.net/2017/03/23/create-a-minimal-net-core-1-1-web-application-using-just-the-command-line/https://jonhilton.net/2017/03/23/create-a-minimal-net-core-1-1-web-application-using-just-the-command-line/You want to build a .NET Core web application and keep it to the bare minimum files and dependencies to start out with.Which render mode is my component using?https://jonhilton.net/blazor-render-modes/https://jonhilton.net/blazor-render-modes/It's not always obvious which render mode your component is using, but .NET 9 will tell youYour first .NET Core web application using just the command line (in ten minutes or less)https://jonhilton.net/2016/07/18/your-first-net-core-web-application-using-nothing-but-the-command-line/https://jonhilton.net/2016/07/18/your-first-net-core-web-application-using-nothing-but-the-command-line/So you want to mess around with .NET Core, maybe create a Web API or MVC Project and you don't want to rely on any tooling, just the command line.Why some software development tasks feel impossiblehttps://jonhilton.net/friction/https://jonhilton.net/friction/There's a hidden force that affects everything you do as a software developerAdd Web API to your .NET Core applicationhttps://jonhilton.net/2016/10/06/adding-web-api-to-your-net-core-application/https://jonhilton.net/2016/10/06/adding-web-api-to-your-net-core-application/Web API and MVC have been combined in .NET Core and attribute routing makes it dead easy to quickly build your API.How to add MVC to your ASP.NET Core web applicationhttps://jonhilton.net/2016/07/27/how-to-add-mvc-to-your-asp-net-core-web-application/https://jonhilton.net/2016/07/27/how-to-add-mvc-to-your-asp-net-core-web-application/You've seen how to create your first super simple web application using just the command line. Now let's add MVC to the picture.Compile your changes on the fly with .NET Core Watchhttps://jonhilton.net/2016/08/04/compile-your-changes-on-the-fly-with-net-core/https://jonhilton.net/2016/08/04/compile-your-changes-on-the-fly-with-net-core/Save yourself from manually compiling your .NET Core app using .NET Core WatchThe basics of publishing your .NET Core web apphttps://jonhilton.net/2016/08/18/publishing-your-net-core-web-app/https://jonhilton.net/2016/08/18/publishing-your-net-core-web-app/There are lots of options for hosting your .NET Core application, especially now you can choose linux and take advantage of potentially cheaper hosting. Whatever you choose, a useful first step is figuring out how to package up your app so you can publish it to your chosen host.How to serve static files for your Single Page Application from .NET Corehttps://jonhilton.net/2016/08/25/how-to-serve-static-files-for-your-single-page-application-from-net-core/https://jonhilton.net/2016/08/25/how-to-serve-static-files-for-your-single-page-application-from-net-core/If you want to host your SPA app on .NET Core you'll need to make sure your application is set up to serve your SPA's static html and javascript files.Use ASP.NET Core against .NET 4.6https://jonhilton.net/2016/09/07/using-asp-net-core-against-net-4-6/https://jonhilton.net/2016/09/07/using-asp-net-core-against-net-4-6/If you want to try ASP.NET Core but aren't ready to jump to the new framework, you can build your ASP.NET Core app and target .NET Framework 4.6.x instead.Troubleshoot your ASP.NET Core web app using logginghttps://jonhilton.net/2016/09/14/troubleshoot-your-asp-net-core-web-app-using-logging/https://jonhilton.net/2016/09/14/troubleshoot-your-asp-net-core-web-app-using-logging/You've created your new ASP.NET Core web app then something breaks and you've no idea what. How can you find out what's causing the problem?How to log different levels of information in your ASP.NET Core apphttps://jonhilton.net/2016/09/21/log-different-levels-in-asp-net-core-app/https://jonhilton.net/2016/09/21/log-different-levels-in-asp-net-core-app/How to extend your asp.net core app to log custom messages. Use logging to see what's going on when your app is running and when something goes wrong.Start using Dependency Injection with ASP.NET Corehttps://jonhilton.net/2016/11/17/start-using-dependency-injection-asp-net-core/https://jonhilton.net/2016/11/17/start-using-dependency-injection-asp-net-core/ASP.NET Core ships with a built-in Dependency Injection Framework which gives you a way to set up all your dependencies in one place.Simpler auth for Blazor Web Apps with Auth0?https://jonhilton.net/blazor-auth0-net8/https://jonhilton.net/blazor-auth0-net8/Integrate Auth0 with your Blazor Web App (.NET 8)Prevent double clicks in Blazor componentshttps://jonhilton.net/prevent-double-clicks-blazor/https://jonhilton.net/prevent-double-clicks-blazor/Guard against duplicate events in your Blazor appFinally! Improved Blazor Server reconnection UXhttps://jonhilton.net/blazor-server-reconnects/https://jonhilton.net/blazor-server-reconnects/.NET 9 changes how your Blazor Server app behaves when server connection is lostShould I put my Blazor components in the server project, or the client project?https://jonhilton.net/client-or-server-project-for-components/https://jonhilton.net/client-or-server-project-for-components/.NET 8 gives you a choice of projects, which one should you use?Coravel - Easy task scheduling for your .NET web appshttps://jonhilton.net/coravel/https://jonhilton.net/coravel/Coravel makes it easy to run tasks on a regular basis3 simple design tips to improve your Web UIhttps://jonhilton.net/design-tips/https://jonhilton.net/design-tips/Spruce up your featuresAvoiding interactivity with Blazor?https://jonhilton.net/avoiding-blazor-interactivity/https://jonhilton.net/avoiding-blazor-interactivity/Sometimes a little HTML and CSS is all you needEnsure users always get the latest version of your stylesheets with .NET 9https://jonhilton.net/cache-bust-blazor-css/https://jonhilton.net/cache-bust-blazor-css/.NET 9 changes how static files are served, and it solves a long-standing problemBetter JavaScript module imports with .NET 9https://jonhilton.net/import-js-modules/https://jonhilton.net/import-js-modules/.NET 9 ensures your users always get the latest version of your JS modulesInteractive what now? Deciphering Blazor's web app project template optionshttps://jonhilton.net/blazor-web-app-interactivity-choices/https://jonhilton.net/blazor-web-app-interactivity-choices/Create a new Blazor Web App and you'll be asked how you want interactivity to work, but what does it all mean?The quickest way to integrate PayPal checkout with Blazor SSR in .NET 8https://jonhilton.net/paypal-net8-ssr/https://jonhilton.net/paypal-net8-ssr/JavaScript Interop works differently with Blazor Server-side renderingShare user authentication state with interactive WASM componentshttps://jonhilton.net/blazor-share-auth-state/https://jonhilton.net/blazor-share-auth-state/Your server knows your user is authenticated, but what about your interactive WASM components?How to upload a file with Blazor SSR in .NET 8?https://jonhilton.net/upload-file-ssr/https://jonhilton.net/upload-file-ssr/How to handle file uploads without using an interactive render mode?Fast track your Angular 2 and .NET Core web app developmenthttps://jonhilton.net/2016/12/01/fast-track-your-angular-2-and-net-core-web-app-development/https://jonhilton.net/2016/12/01/fast-track-your-angular-2-and-net-core-web-app-development/Modern front-end development is a mess of competing frameworks that may have you running back to the safety of Visual Studio Try this Template Pack instead.Angular 2 and .NET Core – your first componenthttps://jonhilton.net/2016/12/13/angular-2-and-net-core-your-first-component/https://jonhilton.net/2016/12/13/angular-2-and-net-core-your-first-component/So now you've taken the quick route to getting an Angular 2 and .NET Core app up and running, how can you add a new component?Angular 2 and .NET Core – route directly to your componentshttps://jonhilton.net/2017/01/03/angular-2-and-net-core-route-to-an-angular-component/https://jonhilton.net/2017/01/03/angular-2-and-net-core-route-to-an-angular-component/The Angular 2 router is a powerful tool which enables you to route to a component when the user enters a specific url for your site.Display the weather using Angular 2 and .NET Core Web APIhttps://jonhilton.net/2017/01/16/display-the-weather-using-angular-2-and-net-core-web-api/https://jonhilton.net/2017/01/16/display-the-weather-using-angular-2-and-net-core-web-api/Angular 2 and Microsoft's .NET Core Web API work nicely together, let's see how to combine them to retrieve and display data in your web app.Fetch the current weather using ASP.NET Core Web API and OpenWeatherhttps://jonhilton.net/2017/01/24/retrieve-data-from-a-third-party-openweather-api-using-asp-net-core-web-api/https://jonhilton.net/2017/01/24/retrieve-data-from-a-third-party-openweather-api-using-asp-net-core-web-api/Sometimes you need to access a 3rd party API from your application. Here we call the OpenWeather API from a Web API controller in a .NET Core web app.Blazor's nifty trick for sharing auth between server and client in .NET 8https://jonhilton.net/share-auth-state/https://jonhilton.net/share-auth-state/Your users log in via the server, so how do your interactive WASM components know about the user's auth state?Exploring Blazor Changes in .NET 8 - Auto Render Modehttps://jonhilton.net/blazor-auto-render-mode/https://jonhilton.net/blazor-auto-render-mode/Interactive components with Blazor Server or Blazor WASM (whichever loads fastest)Send form input via an Angular 2 component to ASP.NET Core Web APIhttps://jonhilton.net/2017/02/01/send-form-input-via-an-angular-2-component-to-asp-net-core-web-api/https://jonhilton.net/2017/02/01/send-form-input-via-an-angular-2-component-to-asp-net-core-web-api/In most web apps you'll want to take some user input and pass it on to the backend. How do you do that with Angular 2 and .NET Core Web API?Configure Redis on Fly.io to handle your Anti-Forgery Tokens in .NEThttps://jonhilton.net/fly-anti-forgery-redis/https://jonhilton.net/fly-anti-forgery-redis/If you try to load balance your ASP.NET web app on fly.io you'll run into errors with the built-in anti-forgery tokensExploring Blazor Changes in .NET 8 - Capture User Input with Formshttps://jonhilton.net/blazor-ssr-forms/https://jonhilton.net/blazor-ssr-forms/Sooner or later you're going to need to capture user input in your Server Side Rendered .NET 8 Blazor componentsExploring Blazor Changes in .NET 8 - Interactive Components using Blazor Serverhttps://jonhilton.net/blazor-interactive-islands-server/https://jonhilton.net/blazor-interactive-islands-server/Islands of interactivity in your Blazor app?Exploring Blazor Changes in .NET 8 - Interactive Components using Blazor WASMhttps://jonhilton.net/blazor-interactive-wasm/https://jonhilton.net/blazor-interactive-wasm/Islands of interactivity in your Blazor app?.NET 8 Blazor component visibly loading twice? Check your prerenderinghttps://jonhilton.net/persist-state-between-renders-net8/https://jonhilton.net/persist-state-between-renders-net8/By default your .NET 8 Blazor interactive components are prerendered, so how do you avoid fetching your data twiceExploring Blazor Changes in .NET 8 - Server Side Rendering (SSR)https://jonhilton.net/blazor-ssr/https://jonhilton.net/blazor-ssr/Blazor without Web Assembly or Socket Connections...Learn .NET Core by example (or micro example) – Part IIhttps://jonhilton.net/2016/11/03/learn-dot-net-core-by-example-part-ii/https://jonhilton.net/2016/11/03/learn-dot-net-core-by-example-part-ii/You want to learn .NET Core and so you tackle the basic tutorials. But now what? Where can you go from here. Take inspiration from these example projects.Learn .NET Core by examplehttps://jonhilton.net/2016/10/12/learning-dotnet-core-by-example/https://jonhilton.net/2016/10/12/learning-dotnet-core-by-example/Tutorials are great for getting started but the best way to learn is by looking at real projects and seeing how the technology works in the wild.Diary Of A Net Developer - Learning Reacthttps://jonhilton.net/diary-of-a-dot-net-developer-learning-react/https://jonhilton.net/diary-of-a-dot-net-developer-learning-react/Because .NET Developers can learn React too...Learning React - Building up the user interface using components and dummy datahttps://jonhilton.net/building-a-ui-using-react-components/https://jonhilton.net/building-a-ui-using-react-components/It's components all the way down...Learning React - How to connect React components to your ASP.NET Core Web APIhttps://jonhilton.net/connecting-react-to-asp-net-core-web-api/https://jonhilton.net/connecting-react-to-asp-net-core-web-api/You've got a basic user interface up and running, now what about that data?Learning React - Exercise control over your component state with Typescripthttps://jonhilton.net/react-component-state-using-typescript/https://jonhilton.net/react-component-state-using-typescript/Use Typescript to define the shape of your React component's stateCross-Origin Request Blockedhttps://jonhilton.net/cross-origin-request-blocked/https://jonhilton.net/cross-origin-request-blocked/You've built your ASP.NET Core Web API, try to call it from your front-end and... Cross-Origin Request Blocked. What does it mean?!