Instalación
Agregar Doconut a tu proyecto .NET 8
El visor base Doconut para .NET 8 se entrega como un paquete NuGet que se integra en cualquier aplicación ASP.NET Core. Los complementos opcionales usan paquetes separados. Esta página instala el paquete base y registra el middleware — lo mínimo necesario antes de tu primera renderización.
Instalar el paquete
dotnet add package Doconut.NET8El comando sin versión instala la última versión estable. Para reproducir exactamente la versión actual 26.7.0, pasa la versión como una opción separada:
dotnet add package Doconut.NET8 --version 26.7.0Doconut.NET8 es el ID del paquete. El sufijo .26.7.0 pertenece al nombre de archivo descargado Doconut.NET8.26.7.0.nupkg y no forma parte del ID.
Registrar Doconut
AddDoconut() es el único punto de entrada de registro — hay una única sobrecarga, y conecta el servicio Viewer, el servicio de licencia y la infraestructura de renderizado al contenedor DI.
Dos llamadas de middleware completan la configuración, y su orden importa: UseDoconutResources() debe ejecutarse antes que UseDoconut(). UseDoconut() es middleware terminal, por lo que llamarlo primero hace que cualquier solicitud a un recurso /doconut-res nunca llegue al manejador de recursos y devuelva 404. El cableado de sesión también es necesario — la seguridad de documentos predeterminada de Doconut valida cada solicitud de página contra el estado de sesión de ASP.NET.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddSession(); // Doconut document security rides on ASP.NET session state
app.UseSession(); // call UseSession() before UseDoconut()
app.UseDoconutResources(); // must be registered before UseDoconut()
app.UseDoconut();Todas las opciones
DoconutOptions acepta el siguiente conjunto de propiedades configurables. Cada una es opcional — los valores predeterminados a continuación se aplican cuando una propiedad queda sin establecer.
| Propiedad | Valor predeterminado | Descripción |
|---|---|---|
ShowDoconutInfo | false | Cuando true, una solicitud sin token devuelve un banner de versión en lugar de un 404. Útil como verificación rápida; desactivar en producción. |
UnsafeMode | false | Cuando true, omite la verificación de seguridad de la sesión ASP.NET en las solicitudes de página. Desactivar en producción. |
MiddlewarePath | "/doconut" | Valor de coordinación para el endpoint de página-imagen. Se valida, pero no monta una rama por sí mismo; mantenlo alineado con el mapeo real de UseDoconut() y el BasePath del cliente. |
ResourcesPath | "/doconut-res" | Desde donde se sirven los recursos incrustados de JS/CSS/imagen. |
LicensePath | "" (cadena vacía) | Ruta al archivo de licencia. Vacío significa pasar al siguiente origen y luego buscar automáticamente. |
LicenseContent | "" (cadena vacía) | Contenido bruto de la licencia — proveniente de una variable de entorno, un gestor de secretos o una base de datos. |
LicenseStream | null | Licencia como flujo, leída una vez al iniciar. |
ResetLicense | false | Bandera de compatibilidad reservada. Los servicios actuales de .NET 8 leen la licencia durante AddDoconut(); reinicia la aplicación después de reemplazar una licencia. |
La precedencia de licencias cuando se establece más de una fuente: LicenseStream supera a LicenseContent, que supera a LicensePath, que supera a la búsqueda automática — ver Configuración de licencia.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // coordinate with app mapping and client BasePath
options.ResourcesPath = "/doconut-res"; // where the viewer's JS/CSS/images are served from
options.UnsafeMode = false; // keep session security on
options.ShowDoconutInfo = false;
});Próximos pasos
- Inicio rápido — abre tu primer documento y rásterízalo en el navegador.
- Configuración de licencia — donde Doconut busca tu archivo de licencia.
¿Fue útil esta página?