Utilizzare MapExtensions.Map è davvero semplice e dai risvolti potenti. Grazie ad esso -specialmente realizzando un middleware in .NETCore possiamo creare delle “mappe” tra la richiesta in ingresso e l’output fornito.
MapExtensions.Map: Definizione
Andando sulla documentazione ufficiale .NETCore possiamo leggere quanto segue
MapExtensions.Map(IApplicationBuilder, PathString, Action)
Namespace: Microsoft.AspNetCore.Builder
Assembly: Microsoft.AspNetCore.Http.Abstractions.dll
Branches the request pipeline based on matches of the given request path. If the request path starts with the given path, the branch is executed.
MapExtensions.Map: HowTo
Per utilizzare “.Map” dobbiamo aprire il file Startup.cs presente all’interno del nostro progetto NET Core ed aggiungere le seguente righe.
*Startup.cs - Configure*
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
[...]
app.Map("/CreatedBy", (applicationBuilder) =>
{
applicationBuilder.Run(async (context) =>
{
await context.Response.WriteAsync("Created By DevAndreaCarratta.IT");
});
});
[...]
}
|
Ora, per fare la prova, non vi resterà che chiamare il vostro middleware (o sito .NETCore) ed aggiungere “/CreatedBy” alla root del sito.
A video apparirà la scritta
Created By DevAndreaCarratta.IT
definita all’interno del file Startup.cs poche righe prima.
MapExtensions: definizione classe / metodo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#region Assembly Microsoft.AspNetCore.Http.Abstractions, Version=2.2.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
// C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.aspnetcore.http.abstractions\2.2.0\lib\netstandard2.0\Microsoft.AspNetCore.Http.Abstractions.dll
#endregion
using System;
using Microsoft.AspNetCore.Http;
namespace Microsoft.AspNetCore.Builder
{
//
// Summary:
// Extension methods for the Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.
public static class MapExtensions
{
//
// Summary:
// Branches the request pipeline based on matches of the given request path. If
// the request path starts with the given path, the branch is executed.
//
// Parameters:
// app:
// The Microsoft.AspNetCore.Builder.IApplicationBuilder instance.
//
// pathMatch:
// The request path to match.
//
// configuration:
// The branch to take for positive path matches.
//
// Returns:
// The Microsoft.AspNetCore.Builder.IApplicationBuilder instance.
public static IApplicationBuilder Map(this IApplicationBuilder app, PathString pathMatch, Action<IApplicationBuilder> configuration);
}
}
|
Mapextensions.Map: Riferimenti
Docs Microsoft: MapExtensions.Map(IApplicationBuilder, PathString, Action) Method