Not Your Mother's or Father's C#

Presented by: Brendan Enrick

Gone are the days of verbose C# code and having only one way to solve a problem. In recent updates, C# has been adapting ideas from other programming paradigms, including functional programming. Some of the most recent ones have significantly changed the appearance of C# code. We'll see what you...

Tags: .NET, C#Format: General SessionLevel: Introductory and overview

MSBuild Unleashed: Breaking Free From Complex CI Pipelines

Presented by: Dan Siegel

In today's rapidly evolving software landscape, Continuous Integration (CI) and Continuous Deployment (CD) are the linchpins of a streamlined and efficient development process. However, with myriad build platforms, technologies, and tooling, we often find ourselves entangled in complex build...

Tags: .NET, Programming Principles, CI/CDFormat: General SessionLevel: Intermediate

Async/Await from the Ground Up

Presented by: Stephen Cleary

An async refresher course for developers who use async and await but want to really understand what's going on. ...

Tags: .NET, C#, Code QualityFormat: General SessionLevel: Intermediate

Tactics for Building Background Services in .NET

Presented by: Kevin Griffin

Mature applications often find themselves in the predicament of having to do work "behind the scenes." Frequently this could be simple tasks such as sending emails or updating statistics. Or it could be something more complicated, like processing incoming files or building reports. These tasks...

Tags: .NET, C#, Backend, Programming Principles, Cloud, Architecture, System DesignFormat: General SessionLevel: Introductory and overview

Modern Authentication and Authorization with OIDC, OAuth2, and Resource-based Permissions

Presented by: Eric Boyd

Open web standards for authentication, authorization and delegation are especially important in our connected, integrated, and mobile world. There are expectations for single sign-on, integration with external partners, multi-tenancy, identity across application tiers, and authentication with...

Tags: .NET, Backend, SecurityFormat: General SessionLevel: Intermediate

Rebuild your APIs Better, Stronger, Faster with Minimal APIs

Presented by: Jonathan "J." Tower

If you currently have a controller-based API built in ASP.NET or ASP.NET Core, you might be eager to embark on the journey of transitioning it to a Minimal API approach, but not know the best process to make it happen. If so, this talk is tailor-made for you. ...

Tags: .NET, C#, BackendFormat: General SessionLevel: Intermediate

Dev Containers. What are they and why do you need them?

Presented by: Joseph Guadagno

You're onboarding a new team member, or your team recently inherited a project that uses a different SDK/framework version than your current project uses. What do you do? Install the old SDK/framework versions? Can they even be installed at the same time on the same machine? What if I told you...

Tags: .NET, DevOps, CI/CDFormat: General SessionLevel: Intermediate

Prime (re)Factoring

Presented by: Steve Smith

You've probably heard of refactoring, but did you know the term originates from the process of factoring programming code? In mathematics, factoring is used to pull out factors of numbers through division, and importantly prime numbers have factors of only themselves and the identity constant, 1. ...

Tags: .NET, C#, Object Oriented Programming, Programming Principles, Code QualityFormat: General SessionLevel: Introductory and overview

Scaling your .NET app with Azure

Presented by: Callum Whyte

You've made it big time, and your web app just can't handle the traffic... Where do you even start with scaling in Azure? ...

Tags: .NET, Cloud, DevOpsFormat: General SessionLevel: Introductory and overview

State of Mobile Development

Presented by: Sam Basu

It’s 2024. Thankfully, developers have a lot of choice in how to build for mobile form factors. Mobile strategy can often be an afterthought – in reality, it needs to be driven by type of app, audience, platform reach, developer expertise & need for code reuse. ...

Tags: .NET, JavascriptFormat: General SessionLevel: Intermediate

Clean Architecture with ASP.NET Core 8

Presented by: Steve Smith

Clean Architecture is a very popular approach for DDD and Microservices, and for good reason. It's not a new approach, and went by other names in the past (e.g. Onion, Hexagonal, Ports-and-Adapters). One of the main benefits of the approach is its focus on business logic and its reduction in...

Tags: .NET, C#, Backend, Object Oriented Programming, Programming Principles, Architecture, System Design, Code QualityFormat: General SessionLevel: Intermediate

Async Masterclass

Presented by: Stephen Cleary

You've mastered async and await, but you find you need more powerful tools. This is how to build them. ...

Tags: .NET, C#, Programming PrinciplesFormat: General SessionLevel: Advanced

CQRS with Event Sourcing using the “Critter Stack”

Presented by: Jeremy Miller

Do you have a system where you think would be a good fit for a CQRS architecture that also uses Event Sourcing for at least part of its persistence strategy? Are you intimidated by the potential complexity of that kind of approach? ...

Tags: .NET, Databases, ArchitectureFormat: General SessionLevel: Intermediate

All your secrets are belong to us

Presented by: Callum Whyte

Admit it: we've all checked in an API key or password to a repo at some point... Oops... No one wants their secrets to accidentally leak, so this session is your essential refresher on secret management (and mismanagement!) for your applications and beyond! ...

Tags: .NET, Security, DevOpsFormat: General SessionLevel: Intermediate

.NET on AWS: Wait, you can do that?

Presented by: Brad Knowles

.NET on AWS: Wait, you can do that? ...

Tags: .NET, C#, CloudFormat: General SessionLevel: Introductory and overview