Michael Kopt's Avatar

Michael Kopt

@michae1k

🧰 Software Engineer 🧼 Cleans up legacy .NET like it’s personal 🇪🇺 Deploying across borders, one container at a time 📍 Splits time between Lille 🧱 and Prague 🏰 🗣️ Languages: 🇬🇧 | 🇫🇷 | 🇨🇿 📚 Blog: https://medium.com/@michael.kopt

18
Followers
73
Following
31
Posts
23.10.2025
Joined
Posts Following

Latest posts by Michael Kopt @michae1k

Preview
🗂️ Custom Session Store for Complex Objects in ASP.NET Core ASP.NET Core’s default session fails with complex objects. This post shows how to store them safely in memory.

🗂️ New: Modernizing .NET – Part 15
JSON fails with circular objects. Protobuf-net can’t fix recursive graphs.
Here’s a custom ASP.NET Core Session Store that can.

Read → medium.com/@michael.kop...
#DotNet #DotNetCore #DotNet8 #DotNet9 #DotNet10 #ASPNet #ASPNetCore #CSharp #Middleware #SessionState

10.03.2026 09:22 👍 0 🔁 0 💬 0 📌 0
Preview
🧩 Modernizing .NET — Part 14: Migrating from WebHost to WebApplication in ASP.NET Core WebHost was common in early ASP.NET Core apps. This post shows how to migrate to the modern WebApplication model.

🧩 New: Modernizing .NET – Part 14
WebHost still works, but WebApplication is better.
Here’s how to migrate your ASP.NET Core app to the modern hosting model.

Read → medium.com/@michael.kop...
#DotNet #DotNetCore #DotNet8 #DotNet9 #DotNet10 #ASPNet #ASPNetCore #CSharp #Middleware

03.03.2026 09:30 👍 0 🔁 1 💬 0 📌 0
Preview
🧩 Modernizing .NET — Part 13: Replacing PostSharp Audit Attribute with Try-Catch-Finally Pattern PostSharp became commercial and limited — this post shows how to replace its Audit attribute with a manual pattern.

Next Part 13: Replacing PostSharp Audit Attributes in ASP.NET Core

medium.com/@michael.kop...

25.02.2026 11:37 👍 0 🔁 1 💬 0 📌 0
Preview
🧩 Modernizing .NET — Part 13: Replacing PostSharp Audit Attribute with Try-Catch-Finally Pattern PostSharp became commercial and limited — this post shows how to replace its Audit attribute with a manual pattern.

🧩 New: Modernizing .NET – Part 13
PostSharp’s Audit attribute is now paid.
Here’s how to replace it with a clean try-catch-finally pattern in ASP.NET Core.

📖 Read → medium.com/@michael.kop...
#DotNet #PostSharp #Audit #CSharp #Modernization #AOP #Postsharp

24.02.2026 09:35 👍 0 🔁 0 💬 0 📌 0
Preview
🪢Modernizing .NET — Part 12: Managing Dependency Injection in Background Threads with SharedContext Legacy background threads don’t support DI — this post introduces the SharedContext pattern to bridge the gap

🧵 New: Modernizing .NET – Part 12
Use HttpClientFactory in legacy background threads with the SharedContext pattern.
Thread‑safe, DI‑friendly, minimal refactoring.

📖 Read → medium.com/@michael.kop...
#DotNet #DotNetCore #DotNet8 #DotNet9 #DotNet10 #ASPNet #ASPNetCore #CSharp #DependencyInjection

17.02.2026 09:53 👍 0 🔁 1 💬 1 📌 0
Preview
📡 Modernizing .NET — Part 11 Migrating WebClient and RestSharp to HttpClientFactory This post gives a production‑ready migration path for replacing WebClient and RestSharp with HttpClient backed by IHttpClientFactory. It…

Next part - Migrating WebClient and RestSharp to HttpClientFactory

medium.com/@michael.kop...

10.02.2026 09:49 👍 0 🔁 0 💬 0 📌 0
Preview
📡 Modernizing .NET — Part 11 Migrating WebClient and RestSharp to HttpClientFactory This post gives a production‑ready migration path for replacing WebClient and RestSharp with HttpClient backed by IHttpClientFactory. It…

📡 New post: Modernizing .NET – Part 11
Migrate from WebClient and RestSharp to HttpClientFactory.
Full code for performance boost.
Read → medium.com/@michael.kop...
#DotNet #DotNetCore #DotNet8 #DotNet9 #DotNet10 #ASPNet #ASPNetCore #CSharp #Linux #RestShart #WebClient #DepedencyInjection

10.02.2026 09:44 👍 0 🔁 0 💬 0 📌 0

There's exactly one normal man left on planet Earth.

06.02.2026 05:12 👍 17188 🔁 2100 💬 199 📌 48
Preview
📊 Modernizing .NET — Part 10: Replacing OleDB Excel Reading with ExcelDataReader Legacy .NET apps rely on OleDB to read Excel files — but it doesn’t work in .NET Core. This guide shows how to migrate to ExcelDataReader

Next part: 📊 Modernizing .NET — Part 10 Replacing OleDB Excel Reading with ExcelDataReader medium.com/@michael.kop...

04.02.2026 09:43 👍 0 🔁 0 💬 0 📌 0
Preview
📊 Modernizing .NET — Part 10: Replacing OleDB Excel Reading with ExcelDataReader Legacy .NET apps rely on OleDB to read Excel files — but it doesn’t work in .NET Core. This guide shows how to migrate to ExcelDataReader

📊 New post: Modernizing .NET – Part 10
Replace OleDB with ExcelDataReader in .NET Core.
Setup, formatting, exporting, performance tips — all covered.
Read → medium.com/@michael.kop...
#DotNet #DotNetCore #DotNet8 #DotNet9 #DotNet10 #ASPNet #ASPNetCore #Excel #OLEDB

03.02.2026 09:46 👍 1 🔁 0 💬 1 📌 0
Preview
🔐 Modernizing .NET — Part 9: Migrating SAML SSO to ITfoxtec Migrating legacy SAML authentication to ITfoxtec in .NET Core. Covers configuration, response handling, and real-world deployment tips.

New Part: 🔐 Modernizing .NET — Part 9: Migrating SAML SSO to ITfoxtec medium.com/@michael.kop...

02.02.2026 12:35 👍 0 🔁 0 💬 0 📌 0
Preview
🔐 Modernizing .NET — Part 9: Migrating SAML SSO to ITfoxtec Migrating legacy SAML authentication to ITfoxtec in .NET Core. Covers configuration, response handling, and real-world deployment tips.

Next Part: 🔐 Modernizing .NET — Part 9: Migrating SAML SSO to ITfoxtec medium.com/@michael.kop...

29.01.2026 11:40 👍 0 🔁 0 💬 0 📌 0
Preview
🔐 Modernizing .NET — Part 9: Migrating SAML SSO to ITfoxtec Migrating legacy SAML authentication to ITfoxtec in .NET Core. Covers configuration, response handling, and real-world deployment tips.

🦊 New post: Modernizing .NET – Part 9
SAML SSO migration to ITfoxtec in .NET Core.
Config, response handling, logging — all covered.
Read it → medium.com/@michael.kop...
#DotNet #SAML #SSO #ITfoxtec #CSharp #Identity #ASPNet #ASPNetCore #Linux #DotNetCore #DotNet8 #DotNet9 #DotNet10

27.01.2026 09:43 👍 0 🔁 0 💬 1 📌 0
spot art
text reads: January 2026
.NET and .NET Framework Updates

spot art text reads: January 2026 .NET and .NET Framework Updates

We've combined .NET servicing updates for December 2025. Let’s get into the latest release of .NET & .NET Framework, here is a quick overview of what’s new in our servicing releases: msft.it/63320t7nOs
#dotNET

20.01.2026 18:30 👍 5 🔁 1 💬 0 📌 0
Preview
🗄️ Modernizing .NET — Part 8: ODBC Driver Configuration on Linux How to install and configure SQL Server, Redshift, Snowflake, Exasol, and PostgreSQL ODBC drivers in Linux-based .NET Core environments.

🧩 New post: Modernizing .NET – Part 8
ODBC driver setup for SQL Server, Redshift, Snowflake, Exasol, PostgreSQL — all on Linux/Docker.
Full guide on Medium → medium.com/@michael.kop...
#DotNet #ODBC #Linux #Docker #CSharp #Database #Databases #SQLServer #Redshift #Snowflake #Exasol #PostgreSQL

20.01.2026 11:11 👍 3 🔁 0 💬 1 📌 0
Preview
🔄 Modernizing .NET — Part 7: From Web References to Service References How to migrate legacy SOAP clients from Web References in .NET Framework to Service References in .NET Core using dotnet-svcutil.

🧼 New post: Modernizing .NET – Part 7
.NET Core dropped Web References—here’s how to rebuild SOAP clients with dotnet-svcutil.
🔗 medium.com/@michael.kop...
#DotNet #DotNetCore #DotNet8 #DotNet9 #DotNet10 #ASPNet #ASPNetCore #SOAP #WebServices #CSharp #SoftwareEngineering #LegacyCode

13.01.2026 09:57 👍 1 🔁 0 💬 0 📌 0
Preview
✅ Modernizing .NET — Part 6: Validators in CoreWCF How to implement pre-deserialization SOAP validation in CoreWCF using AssertValidator and IParameterInspector.

✅ New post in my Modernizing .NET series: Validators in CoreWCF — how to bring back pre‑deserialization SOAP validation using AssertValidator + ParameterInspector.
🔗 medium.com/@michael.kop...
#DotNet #DotNetCore #DotNet8 #DotNet9 #DotNet10 #ASPNet #ASPNetCore #CoreWCF #WCF #SOAP #CSharp

18.12.2025 08:57 👍 2 🔁 1 💬 0 📌 0
Preview
✅ Modernizing .NET — Part 6: Validators in CoreWCF How to implement pre-deserialization SOAP validation in CoreWCF using AssertValidator and IParameterInspector.

✅ New post in my Modernizing .NET series: Validators in CoreWCF — how to bring back pre‑deserialization SOAP validation using AssertValidator + ParameterInspector.
🔗 medium.com/@michael.kop...
#DotNet #DotNetCore #DotNet8 #DotNet9 #DotNet10 #ASPNet #ASPNetCore #CoreWCF #WCF #SOAP #CSharp

18.12.2025 08:57 👍 2 🔁 1 💬 0 📌 0
Preview
📑 Modernizing .NET — Part 5: Documentation in CoreWCF How to recreate legacy-style SOAP documentation pages in CoreWCF using reflection and WSDL parsing.

📑 New post: Modernizing .NET – Part 5
CoreWCF gives you SOAP, but no docs. Here's how to rebuild .asmx-style documentation using WSDL + reflection.
🔗 medium.com/@michael.kop...
#dotnet #dotnet10 #WCF #SOAP #WSDL #CSharp #aspnet #aspnetcore

08.12.2025 12:18 👍 1 🔁 1 💬 0 📌 0
Preview
📑 Modernizing .NET — Part 5: Documentation in CoreWCF How to recreate legacy-style SOAP documentation pages in CoreWCF using reflection and WSDL parsing.

📑 New post: Modernizing .NET – Part 5
CoreWCF gives you SOAP, but no docs. Here's how to rebuild .asmx-style documentation using WSDL + reflection.
🔗 medium.com/@michael.kop...
#dotnet #dotnet10 #WCF #SOAP #WSDL #CSharp #aspnet #aspnetcore

08.12.2025 12:18 👍 1 🔁 1 💬 0 📌 0

If your #Microsoft365 subscription is about to end: First, disable auto-renewal and wait until it has finished. Then, continue it for just one month. After that, you will see a banner allowing you to buy one year with a 25% discount. For me, this cost €113 for 13 months of the family plan.

02.12.2025 18:19 👍 0 🔁 0 💬 0 📌 0
Preview
📚 Modernizing .NET — Part 4: WSDL in CoreWCF How to customize CoreWCF’s auto-generated WSDL to match legacy SOAP expectations and ensure client compatibility.

📚 New post: Modernizing .NET – Part 4 - WSDL in CoreWCF
Here's how to fix the WSDL so clients don't break.
🔗 medium.com/@michael.kop...
#dotnet #dotnet10 #WCF #SOAP #WSDL #CSharp #aspnet #aspnetcore

27.11.2025 11:28 👍 2 🔁 1 💬 0 📌 0
Preview
📚 Modernizing .NET — Part 4: WSDL in CoreWCF How to customize CoreWCF’s auto-generated WSDL to match legacy SOAP expectations and ensure client compatibility.

📚 New post: Modernizing .NET – Part 4 - WSDL in CoreWCF
Here's how to fix the WSDL so clients don't break.
🔗 medium.com/@michael.kop...
#dotnet #dotnet10 #WCF #SOAP #WSDL #CSharp #aspnet #aspnetcore

27.11.2025 11:28 👍 2 🔁 1 💬 0 📌 0
Screenshot showing an attempt to connect to an Apple AirTag. The system reports “Can’t detect the device,” suggesting it may be out of range or changed its ID. Instructions advise trying to play a sound and note that changing connectivity settings won’t stop the tracker’s owner from seeing its location.

Screenshot showing an attempt to connect to an Apple AirTag. The system reports “Can’t detect the device,” suggesting it may be out of range or changed its ID. Instructions advise trying to play a sound and note that changing connectivity settings won’t stop the tracker’s owner from seeing its location.

#Google also lets you play a sound on the #AirTag to help find it, but I tried it and it didn't work. I mean, it detected it correctly. I had my AirTag in my backpack that time, but my phone couldn't connect to it and make a ring.

26.11.2025 18:21 👍 0 🔁 0 💬 0 📌 0
Screenshot of a Google Play Services notification warning about an unknown Apple AirTag traveling with the user. The alert states that the tracker’s owner can see its location, highlighting a potential privacy and safety concern.

Screenshot of a Google Play Services notification warning about an unknown Apple AirTag traveling with the user. The alert states that the tracker’s owner can see its location, highlighting a potential privacy and safety concern.

Screenshot showing an Apple AirTag alert with details: first detected on 10 Nov at 17:35, warning that the tracker’s owner can see its location. Instructions are given to locate and disable the tracker if it’s not yours.

Screenshot showing an Apple AirTag alert with details: first detected on 10 Nov at 17:35, warning that the tracker’s owner can see its location. Instructions are given to locate and disable the tracker if it’s not yours.

📱 This actually popped up two weeks ago on my #Pixel phone but didn’t have time to post— #Android warning me about an #AirTag riding along. Kinda creepy, but also cool that #Google catches this stuff now.

26.11.2025 18:10 👍 0 🔁 0 💬 1 📌 0
Preview
🧼 Modernizing .NET — Part 3: Surviving SOAP with CoreWCF How I revived legacy WCF SOAP services in .NET 8 using CoreWCF — without rewriting hundreds of public endpoints.

Next part of Modernizing .NET:
🧼 Part 3 - Migrating WCF SOAP services to .NET 8? I used CoreWCF to keep legacy endpoints alive—no rewrite needed.
🔗 medium.com/@michael.kop...
#WCF #CoreWCF #SOAP
#DotNet #DotNet8 #DotNet9 #ASPNetFramework #ASPNet #ASPNetCore #CSharp

18.11.2025 17:44 👍 1 🔁 1 💬 0 📌 0
Preview
🧼 Modernizing .NET — Part 3: Surviving SOAP with CoreWCF How I revived legacy WCF SOAP services in .NET 8 using CoreWCF — without rewriting hundreds of public endpoints.

Next part of Modernizing .NET:
🧼 Part 3 - Migrating WCF SOAP services to .NET 8? I used CoreWCF to keep legacy endpoints alive—no rewrite needed.
🔗 medium.com/@michael.kop...
#WCF #CoreWCF #SOAP
#DotNet #DotNet8 #DotNet9 #ASPNetFramework #ASPNet #ASPNetCore #CSharp

18.11.2025 17:44 👍 1 🔁 1 💬 0 📌 0
Preview
🧙‍♂️ Modernizing .NET — Part 2: HttpContext and the Dark Magic of Migration How I revived HttpContext.Current in .NET 8 to support legacy ASP.NET Framework code — without rewriting thousands of endpoints.

🧙‍♂️ Modernizing .NET – Part 2: HttpContext is the dark magic of ASP.NET Framework. Here's how I revived HttpContext.Current in .NET 8—without rewriting 1000 endpoints.
🔗 medium.com/@michael.kop...
#DotNet #DotNet8 #DotNet9 #ASPNetFramework #ASPNet #ASPNetCore #CSharp #CodeMigration #LegacyCode

13.11.2025 09:08 👍 1 🔁 1 💬 0 📌 0
Preview
🧙‍♂️ Modernizing .NET — Part 2: HttpContext and the Dark Magic of Migration How I revived HttpContext.Current in .NET 8 to support legacy ASP.NET Framework code — without rewriting thousands of endpoints.

🧙‍♂️ Modernizing .NET – Part 2: HttpContext is the dark magic of ASP.NET Framework. Here's how I revived HttpContext.Current in .NET 8—without rewriting 1000 endpoints.
🔗 medium.com/@michael.kop...
#DotNet #DotNet8 #DotNet9 #ASPNetFramework #ASPNet #ASPNetCore #CSharp #CodeMigration #LegacyCode

13.11.2025 09:08 👍 1 🔁 1 💬 0 📌 0
Preview
GitHub Copilot CLI GitHub Copilot CLI reads, writes, and runs code where you work. Code faster, smarter, together.

Didn't know that #GitHubCopilot has a CLI version. At work, I mostly use the #AmazonQ #VSCode extension because of the company licence. It's much worse than Copilot, but they have a CLI version for #Linux which is pretty good, especially for fixing problems with OS. github.com/features/cop...

10.11.2025 17:53 👍 3 🔁 0 💬 0 📌 0