Integración con .NET: guía de inicio rápido
El objetivo de esta guía es explicar cómo llevar a cabo una integración básica de CrowdHandler .NET en tu aplicación ASP.NET Core o ASP.NET MVC 5.
Para obtener más información sobre la personalización y las configuraciones avanzadas, consulta el repositorio de GitHub del proyecto o la documentación de NuGet.
1.) Añade una referencia a tu proyecto.
La forma más sencilla de hacerlo es mediante NuGet; busca el Crowdhandler.MVCSDK paquete en el gestor de paquetes NuGet o, si lo prefieres, a través de la CLI de dotnet.
dotnet add package Crowdhandler.MVCSDK
En .NET Framework, utiliza en su lugar la consola del gestor de paquetes.
Install-Package Crowdhandler.MVCSDK
El paquete es compatible con ASP.NET Core 6, 8, 9 y 10, así como con ASP.NET MVC 5 en .NET Framework 4.7.2 y versiones posteriores.
2.) Inyectar la configuración de CrowdHandler.
* Las claves públicas y privadas se encuentran en la sección «Cuenta → API» del panel de control de CrowdHandler.
ASP.NET Core a través de appsettings.json
{
"Crowdhandler": {
"PublicApiKey": "YOUR_PUBLIC_KEY",
"PrivateApiKey": "YOUR_PRIVATE_KEY"
}
}
Utiliza secretos de usuario o variables de entorno (Crowdhandler__PrivateApiKey) en lugar de comprometer la clave privada.
ASP.NET MVC 5 a través de web.config
<appSettings>
<add key="CROWDHANDLER_PUBLIC_KEY" value="YOUR_PUBLIC_KEY"/>
<add key="CROWDHANDLER_PRIVATE_KEY" value="YOUR_PRIVATE_KEY"/>
</appSettings>
* En la guía de configuración se puede consultar una lista completa de los parámetros configurables y sus valores predeterminados.
3.) Aplica CrowdHandler a tus solicitudes.
ASP.NET Core
Registra el middleware en la fase de inicio de tu aplicación. Este valida todas las solicitudes, por lo que debes colocarlo antes de los archivos estáticos, el enrutamiento y los puntos finales.
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();
Para proteger únicamente determinadas acciones del controlador, utiliza el atributo «filter» en lugar del middleware.
ExampleTicketingController.cs
using Crowdhandler.MVCSDK;
namespace MyTicketingApp.Controllers
{
public class TicketingController : Controller
{
[CrowdhandlerFilter]
public IActionResult Index()
{
return View();
}
}
}
ASP.NET MVC 5
Aplica el atributo «filter» a las acciones del controlador que quieras proteger.
ExampleTicketingController.cs
using Crowdhandler.MVCSDK;
namespace MyTicketingApp.Controllers
{
public class TicketingController : Controller
{
[CrowdhandlerFilter]
public ActionResult Index()
{
return View();
}
}
}
Para proteger cada acción, regístrala globalmente en FilterConfig.cs.
filters.Add(new CrowdhandlerFilterAttribute());
Excluir direcciones URL
Los recursos estáticos (por extensión de archivo) quedan excluidos de la cola de forma predeterminada. Configura patrones de URL adicionales que deban ignorarse mediante el ajuste «Exclusiones», una expresión regular que contenga los patrones que no deseas que se tengan en cuenta para la cola. Se puede indicar en appsettings.json o web.config (CROWDHANDLER_EXCLUSIONS_REGEX), o en el atributo «filter», como se indica a continuación.
Los patrones habituales que hay que ignorar son:
- Rutas utilizadas para almacenar recursos estáticos y archivos multimedia, por ejemplo, /static-media/*
- URL de devolución de llamada generadas por proveedores de pago externos.
- Formato JSON y fuentes RSS.
[CrowdhandlerFilter(Exclusions = @"^(/contact-us.*)|(/api/.*)|(^[^?]*\.(css|js|png|jpg|gif|svg|ico|woff2?)(\?.*)?$)")]
4.) Cambia el tipo de integración a .NET en el panel de control de CrowdHandler.
La selección de la implementación se puede realizar desde la pantalla de dominios.

5.) ¿Y ahora qué?
Una vez que hayas completado los pasos de integración con .NET, te recomendamos que consultes nuestra guía de introducción, que te ayudará a familiarizarte con la creación y configuración de salas de espera desde el panel de control de CrowdHandler.