Instalación
Agregar Doconut a tu proyecto .NET 6
El visor base Doconut para .NET 6 se entrega como un único paquete NuGet que se conecta a 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.NET6El comando sin versión instala la última versión estable. Para reproducir exactamente la versión 26.7.0 actual, pasa la versión como una opción separada:
dotnet add package Doconut.NET6 --version 26.7.0Doconut.NET6 es el ID del paquete. El sufijo .26.7.0 pertenece al nombre del archivo descargado
Doconut.NET6.26.7.0.nupkg y no forma parte del ID.
Identificar la integración antes de actualizar
El ID del paquete Doconut.NET6 ha sido usado tanto por la integración clásica como por la actual de .NET 6. No selecciones la documentación solo por el nombre del paquete:
DocImage.axd,new Viewer(_cache, _accessor, ...),OpenDocument(...)síncrono y scripts del visor copiados manualmente identifican la integración clásica;AddDoconut(),UseDoconutResources(), unViewerinyectado yOpenDocumentAsync(...)identifican la integración actual documentada aquí.
El manual de configuración clásica traducido sigue disponible. Usa la guía de migración para cambiar de generación; una actualización normal del paquete no convierte automáticamente el arranque, la vida del visor o los recursos del navegador.
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 al middleware completan la configuración, y su orden importa: UseDoconutResources() debe ejecutarse antes de 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 la 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.AddDistributedMemoryCache(); // el estado de sesión necesita una caché (MVC/Razor Pages ya añaden una)
builder.Services.AddSession(); // la seguridad de documentos de Doconut se basa en el estado de sesión de ASP.NET
app.UseSession(); // llama a UseSession() antes de UseDoconut()
app.UseDoconutResources(); // debe registrarse antes de UseDoconut()
app.UseDoconut();Todas las opciones
DoconutOptions acepta las siguientes propiedades configurables. Cada una es opcional — los valores predeterminados a continuación se aplican cuando una propiedad queda sin establecer.
| Property | Default | Description |
|---|---|---|
ShowDoconutInfo | false | Cuando true, una solicitud sin token devuelve una pancarta de versión en lugar de un 404. Útil como verificación rápida; desactívalo en producción. |
UnsafeMode | false | Cuando true, omite la comprobación de seguridad de sesión ASP.NET en las solicitudes de página. Desactívalo en producción. |
MiddlewarePath | "/doconut" | Valor de coordinación para el punto final 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 JS/CSS/imagen incrustados. |
LicensePath | "" (cadena vacía) | Ruta al archivo de licencia. Vacío significa pasar al siguiente origen, luego búsqueda automática. |
LicenseContent | "" (cadena vacía) | Contenido bruto de la licencia — desde 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 6 leen la licencia durante AddDoconut(); reinicia la aplicación después de reemplazar una licencia. |
Prioridad de licencia 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"; // coordina con el mapeo de la app y el BasePath del cliente
options.ResourcesPath = "/doconut-res"; // donde se sirven los JS/CSS/imagenes del visor
options.UnsafeMode = false; // mantener la seguridad de sesión activada
options.ShowDoconutInfo = false;
});Próximos pasos
- Inicio rápido — abre tu primer documento y rústalo en el navegador.
- Configuración de Licencia — dónde Doconut busca tu archivo de licencia.
¿Fue útil esta página?