Rick Strahl's Weblog
Wind, waves, code and everything in between...
.NET • C# • Markdown • WPF • All Things Web
Contact
•
Articles
•
Products
•
Support
•
Advertise
Sponsored by:
Markdown Monster
- The Markdown Editor for Windows
advertise here
Weblog Posts in May 2020
Archives
March, 2024 (1)
February, 2024 (1)
January, 2024 (2)
December, 2023 (1)
November, 2023 (2)
October, 2023 (2)
September, 2023 (2)
August, 2023 (2)
June, 2023 (1)
May, 2023 (3)
April, 2023 (4)
March, 2023 (1)
February, 2023 (4)
Categories
ASP.NET (324)
.NET (175)
Windows (76)
JavaScript (72)
jQuery (61)
Visual Studio (54)
IIS (48)
Csharp (47)
WPF (47)
HTML (46)
AJAX (45)
ASP.NET (33)
Localization (32)
LINQ (30)
WCF (28)
MVC (26)
Personal (25)
Security (23)
HTML5 (23)
FoxPro (22)
CSS (21)
Angular (20)
C# (19)
Web Services (19)
Web Api (16)
COM (16)
ADO.NET (15)
Vista (11)
XML (11)
Sql Server (10)
HTTP (10)
IIS7 (10)
Markdown (9)
WebView (9)
Microsoft AJAX (8)
IIS7 (7)
West Wind Ajax Toolkit (7)
Web Connection (7)
Entity Framework (6)
Internet Explorer (5)
Html Help Builder (5)
Markdown Monster (5)
Mobile (5)
Live Writer (5)
ASPNET5 (5)
C++ (5)
OWIN (5)
Web (5)
SignalR (5)
Software Development (5)
NuGet (5)
WinForms (5)
Westwind.Globalization (4)
Source Control (4)
Silverlight (4)
Cordova (4)
Conferences (3)
DataBinding (3)
ASP.NET Core (3)
LetsEncrypt (3)
Help Builder (3)
ISV (3)
Networking (3)
Office (3)
Opinion (3)
Razor (3)
Web Browser Control (3)
WebLog (3)
Web Development (2)
Visual Studio Code (2)
RegEx (2)
RSS (2)
Speaking (2)
Tools (2)
Linux (2)
Installation (2)
Bugs (2)
Help (2)
Authentication (2)
.NET Standard (2)
Addins (2)
Deployment (2)
Dotnet (2)
ASP.NET vNext (2)
ADO.NET (1)
Chocolatey (1)
Control Development (1)
Credit Card Processing (1)
Cross-Platform (1)
Dynamic Types (1)
Email (1)
CSharp Dotnet (1)
Desktop (1)
AI (1)
Security (1)
Visual Studio (1)
Blazor (1)
Blogging (1)
ASP.NET Markdown (1)
Angular JavaScript (1)
FireFox (1)
Flexbox (1)
Git (1)
Graphics (1)
Hardware (1)
IOS (1)
JSON (1)
Musings (1)
Migration (1)
Travel (1)
Typescript (1)
Testing (1)
Threading (1)
rxJs (1)
SEO (1)
RazorPages (1)
VS Code (1)
Web Assembly (1)
Web Deployment Projects (1)
Web Design (1)
WebSockets (1)
WebSurge (1)
WebBrowser (1)
WebDeploy (1)
WFH (1)
WPF Windows (1)
WSL (1)
wwHoverPanel (1)
Windows-Terminal (1)
Windsurfing (1)
ASP.NET Core WebSockets and Application Lifetime Shutdown Events
1 comment
May 28, 2020 - Maui, Hawaii
WebSockets in ASP.NET Core are easy to use but due to the simple model it's easy to forget that socket requests are long lived and can linger for a long time in the background and that can cause problems when an application needs to shut down cleanly. Luckily there's an `IHostApplicationLifetime` interface available that allows hooking shutdown operations and that provides the necessary cancellation tokens to allow an WebSocket connection to be terminated in response to a shutdown event. This post shows how this works.
Fixing Adsense Injecting 'height: auto !important' into scrolled Containers
May 25, 2020 - Maui, Hawaii
Ran into a weird issue today with AdSense in one of my older Web sites. I noticed that the site was not using the custom scrolling in containers that I've been using for years. Turns out Google's AdSense on this page is injecting some extra styling that changes the scroll behavior - and the way the entire page works. Here's what the problem is and how you can work around it.
Using WSL to Launch Several Bash Commands from an Application
4 comments
May 19, 2020 - Maui, Hawaii
Struggled today with launching WSL from a Windows application to automate an external build process. Turns out this was a lot harder than it should have been due to some quirks on how the `wsl.exe` and `bash.exe` are registered by the Windows Sub System for Linux.
Static Constructor Failures and Declaration Order
3 comments
May 04, 2020 - Maui, Hawaii
I ran into an ugly problem today with an application where nested static constructors where not doing the expected thing - failing to provide a value when one should be available. It turns out the issue has to do with constructor calls nesting and the order in which auto-initialized values are assigned.