Getting started with Azure Cognitive Search in C#

Getting started with Azure Cognitive Search in C#

Azure Cognitive Search is a search service in Azure that gives you as a developer the tools for building search experiences over private data in your enterprise, web and mobile applications. Common use cases for search can include any scenario that surfaces text to users, such as searching a product catalog, or searching documents within your organization. Azure Search provides you with a bunch of cool capabilities, including: Full text and vector search over search indexes containing your content....

September 27, 2023 · 15 min · Will Velida
Implementing Dapr Pub/Sub in ASP.NET Core Web APIs

Implementing Dapr Pub/Sub functionality to ASP.NET Core Web APIs

In event-driven architectures, communicating between different microservices via messages can be enabled using Publish and Subscribe functionality (Pub/Sub for short). The publisher (or producer) writes messages to a message topic (or queue), while a subscriber will subscribe to that particular topic and receives the message. Both the publisher and subscriber are unaware of which application either produced or subscribed to the topic. This pattern is useful when we want to send messages to different services, while ensuring that they are decoupled from each other....

August 15, 2023 · 9 min · Will Velida
Using Assertion Scopes to execute multiple Assertions in C#

Using Assertion Scopes to execute multiple Assertions in C#

Fluent Assertions is a .NET library that provides use with a bunch of useful extension methods that allow us to test our C# code in a more natural way. Let’s say for example we are testing the output of a string. Without Fluent Assertions, we might write something like this: string testString = "hello"; string expectedOutput = testString.ToUpper(); Assert.Equal(expectedOutput, "HELLO"); If we were to write this test using Fluent Assertions, we could do so like this:...

June 27, 2023 · 4 min · Will Velida
Using Workload Identities for Bicep Deployments in GitHub Actions

Using Workload Identities for Bicep Deployments in GitHub Actions

As I’ve been working on my side project, I’ve been trying to work on my CI/CD skills and deploy all my resources through GitHub Actions. This project is made up of a couple of services, which each have their own infrastructure and application code. I’m deploying my resources to a single resource group in Azure. To deploy infrastructure to Azure via GitHub Actions, we need to authenticate to our Azure subscription....

June 24, 2023 · 7 min · Will Velida
Building Simple Dapr Cron Jobs with ASP.NET Core Web APIs

Building Simple Dapr Cron Jobs with ASP.NET Core Web APIs

I’ve been thinking about migrating one of my side projects from Azure Functions to the Dapr framework to make it more portable. One of the most important components of this architecture is the ability to refresh an authentication token that enables each Function app to retrieve data from an external API. In an Azure Functions architecture, we can use timer triggers to perform scheduled jobs simply. The issue here is that Functions have an opinionated programming model....

June 19, 2023 · 5 min · Will Velida