Hi there, I'm Poorna Soysa ๐Ÿ‘‹ Welcome to my YouTube channel!

I'm passionate about .NET, C#, software engineering, and cloud technologies. Here, I share expert insights, tutorials, and best practices on:

โœ… .NET Development โ€“ ASP.NET Core, EF Core, Dapper, and .NET features
โœ… C# Programming โ€“ New language features, design patterns, and clean code
โœ… Azure & AWS โ€“ Cloud services, DevOps, and best practices
โœ… Software Architecture โ€“ Clean Architecture, Vertical Slice Architecture, DDD, CQRS, and scalable solutions

๐Ÿ”” Subscribe now and never miss an update!


Poorna Soysa

Which keyword in C# is used to define a method that can be overridden in a derived class?

#dotnet #csharp

14 hours ago | [YT] | 1

Poorna Soysa

In ASP.NET Core, whatโ€™s the recommended way to use HttpClient in modern applications?

#dotnet #aspdotnetcore

1 day ago | [YT] | 4

Poorna Soysa

In ASP.NET Core, which Options pattern type should you use if a singleton service must react to configuration changes at runtime?

#dotner #aspdotnet

2 days ago | [YT] | 9

Poorna Soysa

๐Ÿ’ก .๐—ก๐—˜๐—ง ๐—ง๐—ถ๐—ฝ - ๐——๐—ฒ๐—ฝ๐—ฒ๐—ป๐—ฑ๐—ฒ๐—ป๐—ฐ๐˜† ๐—œ๐—ป๐—ท๐—ฒ๐—ฐ๐˜๐—ถ๐—ผ๐—ป ๐—ถ๐—ป ๐—”๐—ฆ๐—ฃ.๐—ก๐—˜๐—ง ๐—–๐—ผ๐—ฟ๐—ฒ

If you're working with ASP.NET Core whether you're just getting started or aiming to sharpen your skills, understanding Dependency Injection (DI) is a must.

๐Ÿ“Œ In this article, Iโ€™ve broken things down in a simple, practical way:

โœ… What Dependency Injection is and why itโ€™s important
โœ… The different service lifetimesโ€”Singleton, Scoped, and Transient
โœ… How to register and use services in your project
โœ… Constructor injection, including the new primary constructors
โœ… Tips and best practices to keep your code clean and easy to maintain

Iโ€™ve also included how to use [FromServices] for action injection, and how to work with FromKeyedServices introduced in .NET 8.

๐Ÿ‘‰ Read the full article here:
poornasoysa.tech/dependency-injection-aspnet-core

If you're working with ASP.NET Core, this oneโ€™s worth a read.

5 days ago | [YT] | 27

Poorna Soysa

Big news for all .NET devs and product teams: Microsoft is extending the support period for .NET Short Term Support (STS) releases from 18 months to 24 months, starting with .NET 9.

Hereโ€™s what that means - and why it matters:

๐Ÿ“Œ Whatโ€™s changing

โœ… STS releases will now be supported for 24 months, which extends the previous 6-month โ€œgapโ€ after the successor release.

โœ… LTS (Long Term Support) releases stay the same: 3 years of support.

โœ… As a result, .NET 8 and .NET 9 will both now reach end of support on November 10, 2026.

๐Ÿ“Œ Why this is a win

โœ… More breathing room for teams to plan migrations and upgrades without feeling rushed.

โœ… Reduces risk when adopting out-of-band (OOB) releases that depend on STS components - less chance of accidentally moving parts of your tech stack into an STS zone with short support.

โœ… Encourages using newer features sooner, since the support window is more generous.

๐Ÿ“Œ Considerations & things to watch

โœ… Even with longer STS support, LTS still holds advantages for folks prioritizing maximum stability.

โœ… Dependencies, NuGet packages, CI/CD pipelines and the surrounding ecosystem may still create friction during version upgrades.

โœ… This helps, but doesnโ€™t eliminate all risk - planning & testing remain key.

๐Ÿ“Œ For teams & organizations

If you lead or are part of a development org:

โœ… Revisit your .NET upgrade strategy: maybe STS releases are now more viable than before.

โœ… Take advantage of the extra time to properly test OOB components.
Update internal policies/documentation to reflect the new support lifecycle.

๐Ÿ’ฌ What do you think - does this change impact how you plan for .NET adoption or upgrades?

๐Ÿง  Subscribe to my newsletter .๐™‰๐™€๐™ ๐™’๐™š๐™š๐™ ๐™ก๐™ฎ ๐™๐™ž๐™ฅ๐™จ ๐™—๐™ฎ ๐™‹๐™ค๐™ค๐™ง๐™ฃ๐™– to get more content like this delivered to your inbox!

poornasoysa.tech/

6 days ago | [YT] | 20

Poorna Soysa

Code readability isnโ€™t just about clean logic - itโ€™s about how we name things too.

Variables, methods, classes, files
Consistent naming = easier collaboration + fewer โ€œWait, what does this do?โ€ moments.

๐Ÿ“Œ Here are 4 popular naming styles every developer should know:

โœ… Snake Case: customer_name
Underscores + lowercase. Common in Python for variables & functions.

โœ… Kebab Case: to-do-list
Hyphens + lowercase. Perfect for URLs & CSS selectors.

โœ… Camel Case: customerName
Lowercase start, then capitalized words. Popular in JS, Java, and APIs.

โœ… Pascal Case: Customer, GetById()
Every word capitalized. Common for C#, Java classes, and method names.

๐Ÿ’ฌ Which one do you default to when naming variables or methods?
Drop it in the comments ๐Ÿ‘‡

Subscribing to my free newsletter โ€“ .๐™‰๐™€๐™ ๐™’๐™š๐™š๐™ ๐™ก๐™ฎ ๐™๐™ž๐™ฅ๐™จ ๐™—๐™ฎ ๐™‹๐™ค๐™ค๐™ง๐™ฃ๐™–. Get simple, practical tips on .NET, ASP.NET Core, EF Core, and more every week.๐Ÿ‘‡

๐Ÿ‘‰ poornasoysa.tech/

1 week ago | [YT] | 22

Poorna Soysa

AI is no longer a future trend - itโ€™s already shaping how we build apps.

#dotnet #ai

2 weeks ago | [YT] | 5

Poorna Soysa

๐Ÿ’ก๐‚# ๐“๐ข๐ฉ - ๐˜†๐—ถ๐—ฒ๐—น๐—ฑ ๐—ฟ๐—ฒ๐˜๐˜‚๐—ฟ๐—ป

Working with large datasets in C#? Loading everything into memory can slow apps down and eat up resources. Thatโ€™s where yield return comes in - a simple yet powerful way to stream data, one item at a time, only when needed.

๐Ÿ“Œ What is yield return?

yield return lets methods act as iterators, producing elements lazily rather than building a full collection upfront.

The method can return IEnumerable, IEnumerable<T>, IAsyncEnumerable<T>, or even IEnumerator<T>.

๐Ÿ“Œ Why use it?

โœ… Memory Efficiency โ€“ Keeps memory usage low by not holding entire collections in memory.
โœ… Lazy Processing โ€“ Generates values only when the consumer iterates over them.
โœ… Readable Code โ€“ Makes complex data-generation logic cleaner and easier to follow.

๐Ÿ“Œ This is especially useful when:

โœ… Working with very large collections
โœ… Streaming data from files, databases, or APIs
โœ… Returning partial results without precomputing everything

๐Ÿ’ฌ What about you? Have you used yield return in your projects? Share your experience below ๐Ÿ‘‡

๐Ÿง  Subscribing to my free newsletter โ€“ .๐™‰๐™€๐™ ๐™’๐™š๐™š๐™ ๐™ก๐™ฎ ๐™๐™ž๐™ฅ๐™จ ๐™—๐™ฎ ๐™‹๐™ค๐™ค๐™ง๐™ฃ๐™–. Get simple, practical tips on .NET, ASP.NET Core, EF Core, and more every week.๐Ÿ‘‡

๐Ÿ‘‰ poornasoysa.tech/

2 weeks ago | [YT] | 40

Poorna Soysa

Which of the following best describes middleware in ASP.NET Core?

#dotnet #csharp

2 weeks ago | [YT] | 6

Poorna Soysa

๐Ÿ”ฅ .๐—ก๐—˜๐—ง ๐Ÿญ๐Ÿฌ ๐—ฅ๐—ฒ๐—น๐—ฒ๐—ฎ๐˜€๐—ฒ ๐—–๐—ฎ๐—ป๐—ฑ๐—ถ๐—ฑ๐—ฎ๐˜๐—ฒ ๐Ÿญ is now available to download: dotnet.microsoft.com/en-us/download/dotnet/10.0



๐Ÿ‘‰ Learn more about .๐—ก๐—˜๐—ง ๐Ÿญ๐Ÿฌ ๐—ฅ๐—ฒ๐—น๐—ฒ๐—ฎ๐˜€๐—ฒ ๐—–๐—ฎ๐—ป๐—ฑ๐—ถ๐—ฑ๐—ฎ๐˜๐—ฒ ๐Ÿญ: devblogs.microsoft.com/dotnet/dotnet-10-rc-1/



๐Ÿง  Stay updated with tips like this โ€” subscribe to my newsletter .๐™‰๐™€๐™ ๐™’๐™š๐™š๐™ ๐™ก๐™ฎ ๐™๐™ž๐™ฅ๐™จ ๐™—๐™ฎ ๐™‹๐™ค๐™ค๐™ง๐™ฃ๐™– and get the latest .NET insights straight to your inbox!



๐Ÿ‘‰ poornasoysa.tech/

2 weeks ago | [YT] | 22