Articles

We will go over the purpose of minimal APIs in.NET Core 6, as well as how to implement them step by step.

Prerequisites

  • .NET Core 6 SDK
  • Visual Studio 2022
  • SQL Server

Introduction

  • Minimal APIs are used to create HTTP APIs with minimum dependencies and configuration.
  • Mostly, it is used in microservices that have fewer files and functionality within a single file.
  • But there are a few things that are not supported in minimal APIs, like action filters and built-in validation; also, a few more are still in progress and will get in the future by .NET Team.

Step-by-Step Implementation Using .NET Core 6

Step 1

Create a new .NET Core Web API.

Source de l’article sur DZONE


Prerequisites

  • Basic understanding of .NET Core 6 API and C#.
  • Visual Studio 2022
  • SQL Server

Agenda

  • Create .NET Core API using version 6
  • Configure Hangfire in .NET
  • Look into the different types of jobs that are present in Hangfire.

Overview

  • Hangfire is open-source and used to schedule the job at a particular event and time.
  • It is also used to create, process, and manage your background jobs.
  • We use this in background processing without user intervention.
  • Hangfire is reliable and persistent. It will take care of all things once the job is scheduled.
  • Hangfire dashboard is also available for us to manage all things easily.

Why Hangfire is Required in Background Processing

  • Sometimes we need to do lengthy operations like database updates and database maintenance so it’s managed periodically. 
  • Batch import from XML, JSON, and YAML files.
  • Recurring reports on a periodic basis.
  • Mass notification on subscription and sign up basis.

So, these are things that we are able to do periodically over a certain period of time as per our requirements.

There are different types of jobs that are present in Hangfire. We will look at them one by one.

Source de l’article sur DZONE

After an application is deployed to production, developers should lock down its underlying infrastructure to prevent accidental changes. Some of the common accidents that can affect the availability of an application in production are: moving, renaming, or deleting the resource crucial to the function of the application. You can use locks that prevent anyone from performing a forbidden action to avoid such mishaps.

Creating Locks

Almost every resource in Azure supports locks, so you will find the lock option in the settings section of nearly all resources in the portal. For example, the following screenshot illustrates locks on resource groups:

Source de l’article sur DZONE

You might have noticed that resources comprising some Azure services such as Azure Kubernetes Service (AKS) span multiple resource groups by default. In some cases, you might intentionally want to segregate resources such as disks and network interfaces from VMs by placing them in different resource groups for better management. A common problem arising from the resource spread is that you might find it challenging to delete multiple resources and resource groups to entirely remove a service from a subscription.

We can solve the problem by using resource tags to associate resources and resource groups to a service. Tags are key-value pairs that can be applied to your Azure resources, resource groups, and subscriptions. Of course, you can use tags for many other purposes apart from resource management. The Azure docs website has a detailed guide on the various resource naming and tagging strategies and patterns.

Source de l’article sur DZONE

In This Series:

  1. Distributed Tracing With Jaeger
  2. Simplifying the Setup With Tye (this article)

Tye is an experimental dotnet tool from Microsoft that aims to make developing, testing, and deploying microservices easier. Tye’s opinionated nature greatly simplifies the lifecycle of development and deployment of .NET Core microservices.

To understand the benefits of Tye, let’s enumerate the steps involved in the development and deployment of the DCalculator application to Kubernetes:

Source de l’article sur DZONE

We all love web badges. You might have spotted many of them in README of repositories, including the repository of my blog, The Cloud Blog. In general, web badges serve two purposes.

  1. They are visually appealing.
  2. They display key information instantly.

If you scroll to my website’s footer section, you will find GitHub and Netlify badges that display the status of the latest build and deployment. I use them to quickly check whether everything is fine with the world without navigating to their dashboards. In essence, a badge is an SVG image with dynamic content embedded in it.

Source de l’article sur DZONE

In this series:

I am happy to see that many people are enthusiastic about this series and wish to make their IaC applications better with Ansible. What I intend to do is quite simple. I will write an Ansible playbook that uses the template module (see Templating with Jinja2) and a little magic of Jinja2 templates to load appropriate variables and configurations for each Terraform environment. Finally, I will use the Terraform CLI to deploy and delete the infrastructure.

Source de l’article sur DZONE

Azure App Service on Linux has several prefabricated Docker images that support applications written in languages such as .NET core, PHP, and Node.js. App Service also supports using your own Docker image to spin up a container for your application. A useful configuration feature of App Service on Linux is the Startup File configuration that you can set as part of configuring the runtime stack. The value that you specify for the configuration overrides the CMD instruction of the Dockerfile that creates the runtime of the application. If you are not aware of this configuration option, we will soon deploy an application that uses this configuration option soon, so keep reading.

The Docker documentation states that if your Dockerfile has both CMD and ENTRYPOINT instructions, then CMD arguments are appended to the end of the command generated by the ENTRYPOINT instruction. A necessary condition for this feature to work is that you must use the exec form of the ENTRYPOINT instruction in your Dockerfile. In simple terms, assume that your Dockerfile has the following instructions.

Source de l’article sur DZONE

Even if you’re not even interested in the automatic CRUD possibilities that Magic gives you, choosing it simply because you need a DSL engine for .Net Core, should probably be enough arguments for you to want to check it out for your enterprise software development requirements. Previously Hyperlambda has suffered from extreme lack of documentation, but today I released a huge new release of the the goods, where one of its most important features is just that – Documentation.

So what is Hyperlambda. Well, instead of me waiving my arms around, arguably trying to explain what a UFO is to a cavemen, let’s have the thing speak for itself. Because I guarantee you that you have never ever ever seen anything even closely resembling it, and I also guarantee you that you will be amazed by it.

Source de l’article sur DZONE

Few people are at this point in time willing to bet their money on .Net Framework, simply because .Net Core is obviously the future. This creates problems for us developers, since a lot of the tools we have grown used to, simply doesn’t exist in .Net Core. One example of such a tool is Microsoft Workflow Foundation. According to what I’ve read, Microsoft is not willing to port Workflow Foundation to .Net Core either, so as you cross the bridge into ".Net Core land", you’ll have to leave workflows behind.

What is Microsoft Workflow Foundation?

To find out how to replace Workflow Foundation, we must first ask ourselves what its primary feature is. As in, what makes MWF valuable for developers, and why have so many chosen to use it over the years?

Source de l’article sur DZONE