Digests » 193

.net

Blazor: a technical introduction

What is Blazor? It’s a framework for browser-based (client-side) applications written in .NET, running under WebAssembly. It gives you all the benefits of a rich, modern single-page application (SPA) platform while letting you use .NET end-to-end, including sharing code across server and client. The announcement post covers more about the intended use cases, timescales, and so on.

Unit Testing with the HttpClient

There has been a lot of discussion about how and even if the HttpClient class is testable. And it very much is. So I wanted to write a quick post giving you three options that you can use when you need to write tests involving the HttpClient.

Paste JSON as Code

quicktype infers types from sample JSON data, then outputs strongly typed models and serializers for working with that data in your desired programming language. To use this extension, just copy some JSON and use Edit/Paste JSON as Code.

Introducing AsyncUtilities

I’ve recently (~6 months ago) started collecting various slightly useful utility classes and extension methods related to asynchronous programming into a library: AsyncUtilities. Since there are already many useful tools in the BCL and in existing libraries out there these are quite on the fringe.

How Application Insights recognizes returning users and efficiently send telemetry data to Azure

In this article, I’ll provide some insights of how Application Insights works under the hood. Telemetry data for user sessions and returning users is collected and sent to Azure. In order to recognize returning, users Application Insights is creating cookies. A unique identifier is stored in this cookie and send with related telemetry data to Azure. Instead of sending data directly, it’s first placed in a buffer. After a short time period, all telemetry data in the buffer is sent all in once to Azure. By default, data sampling is enabled. This algorithm reduces the amount of data that is sent to Azure. Application Insights provides three different flavors of data sampling which I’ll cover in this blog post.