Photo by Estée Janssens

Implementing background tasks could hardly be any simpler with ASP.NET Core today. But when it comes to scheduling background tasks, what do you do? As it turns out, you have a number of very attractive options available to you. Specifically, I’m thinking:

  1. ASP.NET Core Hosted Service
  2. Quartz.NET
  3. Elsa Workflows (the reason you are reading this post)

We’ll take a brief look at each of these options to see how they compare.

Hosted Service

If all you need is a recurring task that executes at a set interval, the simplest option (without taking on any external package dependencies) might be to implement a…

A brief guide on implementing Search using Orchard Core, Lucene and GraphQL.

Photo by Geran de Klerk on Unsplash

Recently I was asked how one would go about enabling search functionality in a front-end single-page-application (SPA) that is powered by Orchard Core CMS.

Now, I already knew that Orchard provides search functionality using Lucene.NET, so I figured its Lucene module probably exposes a REST API that the SPA should be able to call. Sure enough, the documentation confirmed this.

What I didn’t know however, is that the Lucene module integrates with GraphQL, effectively allowing one to query Lucene indices using GraphQL.

Say what?

Yeah that’s right. We can query Lucene indices using GraphQL, right out of the box. GraphQL…

how to make it work


  1. When nvm use [whatever-version] doesn’t take (i.e. it keeps using another version of Node when you do nvm list), then:
  2. Rename C:\Program Files\nodejs to C:\Program Files\nodejsx (or delete it)
  3. Now when you do nvm use [whatever version], it will take.


Today I ran into an issue while trying to get a React application to build using npm install. The error I was seeing looks like this:

gyp ERR! UNCAUGHT EXCEPTION gyp ERR! stack Error: spawn C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\15.0\Bin\MSBuild.exe ENOENT gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:264:19) gyp ERR! stack at onErrorNT (internal/child_process.js:456:16) gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:80:21)…

A first look at how to invoke Orchard Core’s GraphQL API endpoint using Postman

Photo by Caspar Camille Rubin on Unsplash

As I’m easing back into Orchard Core development, I’m running into little learning curves here and there. It’s been a while since I’ve been actively involved with the Orchard Core project, so it’s natural to be a little bit out of touch with how things work. It’s also natural for me to just dig in and figure it out and share my learnings.

So here’s a little learning about Orchard Core and GraphQL.

Enabling the GraphQL feature was easy. But then I had to figure out what URL to send my queries to. …


To install Docker, run the following two commands on your PI (either directly or via SSH):

sudo apt update -y
curl -fsSL -o && sh

This is going to be a really short post, and serves more as a “note to self” than anything else.

Last week I finally allowed myself to purchase a Raspberry Pi 4, with the intent to build an IoT application with .NET Core 3.0 and drive some peripherals.

Before getting started, I wanted to prepare the Pi with Docker, so I can build and deploy my application as a container. …

For many years, I’ve been developing .NET applications using Orchard, an extensible, modular, open source application framework and CMS built with Classic ASP.NET MVC back in the days, and now redeveloped for ASP.NET Core.

One if its most awesome features is Workflows. I’ve used Orchard 1 workflows to implement user registration, authentication and content approval workflows. Being able to create, configure and modify complex, long-running business processes is a powerful feat in many an app, and the Orchard Workflow module makes this sort of thing child’s play.

I often found myself wishing that I could use it in other ASP.NET…

As part of a big project we’re working on at RTL Netherlands, we decided to implement a microservice-oriented architecture using ASP.NET Core. One of the requirements were that these microservices should be multi-tenant.

As you’ll come to see, implementing a multi-tenant service could not be simpler with the help of the Orchard Core Framework library.

And that’s precisely what I’m going to show you in this article: I’ll take you step-by-step to implementing a multi-tenant ASP.NET Core application using Orchard Core Framework.

Orchard Core Framework

Orchard Core is an open source application framework that is built on top of ASP.NET …

Sipke Schoorstra

Software Developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store