GitHub Copilot Customization Explained for Beginners: Instructions, Prompt Files, Skills, Agents, and Hooks  Introduction If you've recently started using GitHub Copilot, you've probably come across terms like Instructions , Prompt Files , Skills , Agents , and Hooks . At first glance, they all seem to do the same thing—they tell Copilot what to do. So why does GitHub have five different customization features? The answer is simple: each feature solves a different problem. Think of GitHub Copilot as a new developer joining your team. On their first day, you don't just hand them code. You explain your coding standards, give them reusable templates, teach them specialized knowledge, assign them a role, and automate repetitive tasks. That's exactly how GitHub Copilot customization works. In this article, you'll learn what each feature does, when to use it, and how they all work together. By the end, you'll know which feature to start with and which ones can wait un...

Azure Function v3 with DI (Dependency Injection)

Azure Functions allows you to run small pieces of code (called "functions") without worrying about application infrastructure. Few key benefits of Azure function usage are like Serverless applications we can develop using Azure Function, can develop application with several languages like C#, Java, Python, Powershell. It supports pay per pricing model,integration with several Azure Services etc.

As of today, Azure Functions 3.0 is now go-live and ready for production.One of the major benefits of this release is Azure Functions v3 targeting netcoreapp3.1. If you want to develop using .NET Core 3.1, you must use Visual Studio 2019 16.4 or newer.Upgrading a v2 app to v3 can be found here

Just a brief history about version of Azure function with .NET frameworks
  1. Azure Function v1 - .NET framework 4.61
  2. Azure Function v2 - .NET Core app 2.1
  3. Azure Function v3 - .NET Core app 3.1
Support for dependency injection begins with Azure Functions 2.x. Having Dependency Injection eases things like DBContext, Http client usage (Httpclienfactory), Iloggerfactory, cache support etc.

In-spite of having latest version of Azure function v3 for Dependency Injection to enable few steps are manual as shown below. Hope coming release will incorporate changes or support for the same.

Prerequisites

Before you can use dependency injection, you must install the following NuGet packages:
  • Microsoft.Azure.Functions.Extensions
  • Microsoft.NET.Sdk.Functions


1. Open Visual Studio and select to create a new Azure Functions project ensure you choose v3.


2. To support DI following task need to be done manually.Create the Startup class
  • Configure(IFunctionsHostBuilder builder) method is where we register all services. IFunctionHostBuilder.Services is the IoC Container
  • The Startup class must extend the FunctionsStartup class
  • Registering services is exactly the same way we do in other .NET Core applications by using AddScoped, AddSingleton or AddTransient methods 
3. Removal of Static keyword in Function class and method level


References

Comments

Popular posts from this blog

Tidy up - Unused Project and Nuget package reference using Visual Studio 2019

Azure Front Door vs Azure Traffic Manager?

Authenticate Azure Functions - API Keys