Tomasz Pęczek

Information & Communications Technology

.NET ASP .NET Core C# Azure

Kraków, Lesser Poland, Poland

Improving Performance of Your ASP.NET Core Based Web API With Objects Streaming

You are an ASP.NET Core developer and you've just created a Web API and deployed it to production. Sadly, as time passes, you are starting to receive problems reports. The performance of some responses is not acceptable from the client's perspective. At the same time operations are noticing significant memory consumption for the same responses. It looks like the Web API is processing too much data at once. You did provide paging, so why is this happening?

It looks like paging is not a feasible option for some scenarios. In other cases, utilization of paging has led to chatty communication patterns. You need a different solution and someone mentions streaming.

Can streaming help me? How can it help me? You do initial research, which results in more questions. Will async streaming be enough for me, or maybe I need a structured approach? What are the requirements for clients? Are there any traps?

Tough questions, I know because I've been there. In this talk, I want to share the answers I've found, so you can use them to improve your Web API.

Tomasz Pęczek

Software Developer & Architect • Microsoft MVP

For over 15 years Tomasz has been designing and developing software that powers companies across healthcare, banking, e-learning, and e-discovery industries. His career is centered around app architecture and development, currently with a strong focus on Azure cloud applications.

Tomasz is also an active member and supporter of the open source community, having founded several projects of his own. His commitment to sharing his knowledge and experiences has earned him a Microsoft MVP title in the Developer Technologies category.

When not speaking at community and industry events, Tomasz shares in-depth tutorials and insights on his blog at

Tomasz's full speaker profile