.NET-Integration – Schnellstartanleitung

In diesem Leitfaden soll erläutert werden, wie Sie eine grundlegende CrowdHandler-.NET-Integration in Ihre ASP.NET Core- oder ASP.NET MVC 5-Anwendung vornehmen können.

Weitere Informationen zur individuellen Anpassung und zu erweiterten Konfigurationen finden Sie im GitHub-Repository des Projekts oder in der NuGet-Dokumentation.

1.) Fügen Sie einen Verweis auf Ihr Projekt hinzu.

Am einfachsten geht das mit NuGet. Suchen Sie die Crowdhandler.MVCSDK Paket im NuGet-Paketmanager oder alternativ über die dotnet-Befehlszeilenschnittstelle.

dotnet add package Crowdhandler.MVCSDK

Verwenden Sie unter .NET Framework stattdessen die Paket-Manager-Konsole.

Install-Package Crowdhandler.MVCSDK

Das Paket unterstützt ASP.NET Core 6, 8, 9 und 10 sowie ASP.NET MVC 5 unter .NET Framework 4.7.2 und höher.

2.) CrowdHandler-Konfiguration einbinden.

* Die öffentlichen und privaten Schlüssel finden Sie im Bereich „Konto → API“ des CrowdHandler-Kontrollpanels.

ASP.NET Core über „appsettings.json“

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

Verwenden Sie Benutzersecrets oder Umgebungsvariablen (Crowdhandler__PrivateApiKey) anstatt den privaten Schlüssel zu hinterlegen.

ASP.NET MVC 5 über web.config

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

* Eine vollständige Liste der konfigurierbaren Parameter und ihrer Standardeinstellungen finden Sie in der Konfigurationsanleitung.

3.) Wenden Sie CrowdHandler auf Ihre Anfragen an.

ASP.NET Core

Registrieren Sie die Middleware beim Start Ihrer Anwendung. Da sie jede Anfrage überprüft, sollten Sie sie vor den statischen Dateien, dem Routing und den Endpunkten platzieren.

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();

Um nur bestimmte Controller-Aktionen zu schützen, verwenden Sie das Filter-Attribut anstelle der Middleware.

BeispielTicketingController.cs

using Crowdhandler.MVCSDK;

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

ASP.NET MVC 5

Wenden Sie das Filter-Attribut auf die Controller-Aktionen an, die Sie schützen möchten.

BeispielTicketingController.cs

using Crowdhandler.MVCSDK;

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

Um jede Aktion zu schützen, registrieren Sie sie global in FilterConfig.cs.

filters.Add(new CrowdhandlerFilterAttribute());

URLs ausschließen

Statische Assets (nach Dateiendung) werden standardmäßig von der Warteschlange ausgeschlossen. Legen Sie über die Einstellung „Ausschlüsse“ zusätzliche URL-Muster fest, die ignoriert werden sollen – dabei handelt es sich um einen regulären Ausdruck, der die Muster enthält, die bei der Warteschlange nicht berücksichtigt werden sollen. Dieser kann angegeben werden in appsettings.json oder web.config (CROWDHANDLER_EXCLUSIONS_REGEX) oder wie unten gezeigt im Filterattribut.

Häufige Muster, die man ignorieren sollte, sind:

  • Pfade zum Speichern statischer Assets und Medien, z. B. /static-media/*
  • Callback-URLs, die von Zahlungsanbietern von Drittanbietern erstellt wurden.
  • JSON- und RSS-Feeds.
[CrowdhandlerFilter(Exclusions = @"^(/contact-us.*)|(/api/.*)|(^[^?]*\.(css|js|png|jpg|gif|svg|ico|woff2?)(\?.*)?$)")]

4.) Ändern Sie im CrowdHandler-Kontrollfeld den Integrationstyp auf .NET.

Die Auswahl der Bereitstellung kann über den Domänenbildschirm erfolgen.

5.) Wie geht es nun weiter?

Sobald Sie die Schritte zur .NET-Integration abgeschlossen haben, empfehlen wir Ihnen, einen Blick in unsere Einführungsanleitung zu werfen, die Ihnen dabei hilft, sich mit der Erstellung und Konfiguration von Warteräumen über das CrowdHandler-Kontrollpanel vertraut zu machen.