Integrazione .NET - Guida rapida

Lo scopo di questa guida è illustrare come eseguire un'integrazione di base di CrowdHandler .NET nella propria applicazione ASP.NET Core o ASP.NET MVC 5.

Per ulteriori personalizzazioni e configurazioni avanzate, si prega di consultare il repository GitHub del progetto o la documentazione di NuGet.

1.) Aggiungi un riferimento al tuo progetto.

Il modo più semplice per farlo è utilizzare NuGet: cerca il Crowdhandler.MVCSDK pacchetto nel gestore di pacchetti NuGet oppure, in alternativa, tramite la CLI di .NET.

dotnet add package Crowdhandler.MVCSDK

Su .NET Framework, utilizzare invece la console del Gestore dei pacchetti.

Install-Package Crowdhandler.MVCSDK

Il pacchetto supporta ASP.NET Core 6, 8, 9 e 10, nonché ASP.NET MVC 5 su .NET Framework 4.7.2 e versioni successive.

2.) Inserire la configurazione di CrowdHandler.

* Le chiavi pubbliche e private sono disponibili nella sezione Account → API del pannello di controllo di CrowdHandler.

ASP.NET Core tramite appsettings.json

{
  "Crowdhandler": {
    "PublicApiKey": "YOUR_PUBLIC_KEY",
    "PrivateApiKey": "YOUR_PRIVATE_KEY"
  }
}

Utilizza i segreti utente o le variabili d'ambiente (Crowdhandler__PrivateApiKey) anziché memorizzare la chiave privata.

ASP.NET MVC 5 tramite web.config

<appSettings>
    <add key="CROWDHANDLER_PUBLIC_KEY" value="YOUR_PUBLIC_KEY"/>
    <add key="CROWDHANDLER_PRIVATE_KEY" value="YOUR_PRIVATE_KEY"/>
</appSettings>

* Un elenco completo dei parametri configurabili e delle relative impostazioni predefinite è disponibile nella guida alla configurazione.

3.) Applica CrowdHandler alle tue richieste.

ASP.NET Core

Registra il middleware all’avvio dell’applicazione. Poiché esegue la convalida di ogni richiesta, inseriscilo prima dei file statici, del routing e degli endpoint.

Program.cs

using Crowdhandler.MVCSDK.AspNetCore;

var builder = WebApplication.CreateBuilder(args);
builder.Services.AddCrowdhandler(builder.Configuration.GetSection("Crowdhandler"));

var app = builder.Build();

app.UseCrowdhandler();
app.UseStaticFiles();
app.MapControllers();
app.Run();

Per proteggere solo determinate azioni del controller, applicare l'attributo "filter" anziché il middleware.

ExampleTicketingController.cs

using Crowdhandler.MVCSDK;

namespace MyTicketingApp.Controllers
{
    public class TicketingController : Controller
    {
        [CrowdhandlerFilter]
        public IActionResult Index()
        {
            return View();
        }
    }
}

ASP.NET MVC 5

Applica l’attributo “filter” alle azioni del controller che desideri proteggere.

ExampleTicketingController.cs

using Crowdhandler.MVCSDK;

namespace MyTicketingApp.Controllers
{
    public class TicketingController : Controller
    {
        [CrowdhandlerFilter]
        public ActionResult Index()
        {
            return View();
        }
    }
}

Per proteggere ogni azione, registrarla globalmente in FilterConfig.cs.

filters.Add(new CrowdhandlerFilterAttribute());

Esclusione di URL

Le risorse statiche (in base all'estensione del file) sono escluse dall'accodamento per impostazione predefinita. È possibile specificare ulteriori modelli di URL da ignorare tramite l'impostazione "Esclusioni", un'espressione regolare contenente i modelli che non si desidera vengano presi in considerazione per l'accodamento. Può essere specificata in appsettings.json oppure web.config (CROWDHANDLER_ESCLUSIONI_REGEX), oppure sull'attributo "filter" come indicato di seguito.

I modelli più comuni da ignorare sono:

  • Percorsi utilizzati per l'archiviazione di risorse statiche e file multimediali, ad esempio /static-media/*
  • URL di callback generati da fornitori di servizi di pagamento di terze parti.
  • Feed JSON e RSS.
[CrowdhandlerFilter(Exclusions = @"^(/contact-us.*)|(/api/.*)|(^[^?]*\.(css|js|png|jpg|gif|svg|ico|woff2?)(\?.*)?$)")]

4.) Modificare il tipo di integrazione in .NET nel pannello di controllo di CrowdHandler.

La selezione dell'implementazione può essere effettuata dalla schermata dei domini.

5.) E adesso?

Una volta completata la procedura di integrazione con .NET, ti consigliamo di consultare la nostra guida introduttiva, che ti aiuterà a familiarizzare con la creazione e la configurazione delle sale d'attesa dal pannello di controllo di CrowdHandler.