Category: nuget
-
DIForFunctions–NuGet- part3
The important part now is to make public – that means NuGet and documentation,The NuGet is pretty simple – with dotnet pack and with GitHub Actions – in order to do automatically every time I modify the main. For now,this is the action name: .NET on: push: branches: [ “main” ] pull_request:…
-
DI for Functions- work–part 2
Let’s begin with tests – we need to have a class with multiple functions that have multiple [FromServices} parameter. Like public bool TestMyFunc1([FromServices] TestDI1 t1,[FromServices] TestDI2 t2,int x,int y) { return true; } public bool TestMyFunc2([FromServices] TestDI1 t12, int x,int y) { return true; } // more others Because there are multiple functions,I need to…
-
DI for Functions–idea – part 1
Looking at ASP.NET Core,there is a wonderful feature that gives you thinking : you can put in any action for a controller FromServices argument and the framework will complete from,well,services: : public ActionResult Test([FromServices] MyFunction What if you can do the same with any function from any class ? It will be good,but … how …
-
Services.Add => 2 NuGet
If you make a NuGet package for ASP.NET Core and you make an extension method that calls Services.AddWhatever in order to add a Sngleton / Scoped / Transient a IWhatever => Whatever implementation,please add IWhatever in a separate Nuget . Why ? Because not all ASP>NET Core projects are made of a single project –…
-
[NuGet]: Transplator
This is a Nuget that it is what Razor should have been. It is a Roslyn Source Code Generator that transforms template into code. Link: https://www.nuget.org/packages/Transplator Site: https://github.com/atifaziz/Transplator What it does: Takes a template and generates source code for outputting anything inside. Usage: Somewhere in the csproj: <ItemGroup> <CompilerVisibleProperty Include=”DebugTransplator” /> <CompilerVisibleItemMetadata Include=”AdditionalFiles” MetadataName=”SourceItemType” /> …
-
[NuGet]: HealthCheck
This is a Nuget that I use in all projects when I am making any ASP.NET Core prohect Link: https://www.nuget.org/packages/AspNetCore.HealthChecks.UI/ Site: https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks What it does: Implements health checks for your site and/or dependencies Usage: public void ConfigureServices(IServiceCollection services) { //code services.AddHealthChecks() .AddSqlServer(myConnectionString) }
-
[NuGet]: Polly
This is a Nuget that I use in all projects when I am making HTTP calls.. Link: https://www.nuget.org/packages/polly Site: https://github.com/App-vNext/Polly What it does: Implements all kind of policies for retrying – see https://github.com/App-vNext/Polly/wiki/Transient-fault-handling-and-proactive-resilience-engineering Usage: – copied from https://docs.microsoft.com/en-us/dotnet/architecture/microservices/implement-resilient-applications/implement-http-call-retries-exponential-backoff-polly static IAsyncPolicy<HttpResponseMessage> GetRetryPolicy() { return HttpPolicyExtensions .HandleTransientHttpError() .OrResult(msg => msg.StatusCode == System.Net.HttpStatusCode.NotFound) .WaitAndRetryAsync(6,retryAttempt => TimeSpan.FromSeconds(Math.Pow(2, retryAttempt))); }
-
[Nuget]:NPOI
This is a Nuget that I use in almost every .NET Core project to export files in an Excel format without excel on the PC. Link: https://www.nuget.org/packages/npoi Site: https://github.com/nissl-lab/npoi What it does: Create real Excel files – not just CSV Usage: var wb = new XSSFWorkbook(); var sheet = wb.CreateSheet(“Contractors”); for (int i = 0;…
-
[NuGet]:Scriban
This is a Nuget that I use in almost every .NET Core project to get the error details ( 500) Link: https://www.nuget.org/packages/Scriban/ Site: https://github.com/scriban/scriban What it does: Like Razor – a template intepreter Usage: var template = Template.Parse(@” <ul id=’products’> {{ for product in products }} <li> <h2>{{ product.name }}</h2> Price: {{ product.price }} {{…
-
[NuGet]:Hellang.Middleware.ProblemDetails
This is a Nuget that I use in almost every .NET Core project to get the error details ( 500) Link: https://www.nuget.org/packages/Hellang.Middleware.ProblemDetails/ Site: https://github.com/khellang/Middleware What it does: Gives detailed error when encountering a 500 HTTP Code. Usage: services.AddProblemDetails(c=> { c.IncludeExceptionDetails = (context,ex) => true; }); app.UseProblemDetails();