Instalação
Adicione Doconut ao seu projeto .NET 8
O visualizador base Doconut para .NET 8 é distribuído como um único pacote NuGet que se integra a qualquer aplicação ASP.NET Core. Plugins opcionais usam pacotes separados. Esta página instala o pacote base e registra o middleware — o mínimo necessário antes da sua primeira renderização.
Instalar o pacote
dotnet add package Doconut.NET8O comando sem versão instala a versão estável mais recente. Para reproduzir exatamente a versão atual 26.7.0, passe a versão como uma opção separada:
dotnet add package Doconut.NET8 --version 26.7.0Doconut.NET8 é o ID do pacote. O sufixo .26.7.0 pertence ao nome do arquivo baixado
Doconut.NET8.26.7.0.nupkg e não faz parte do ID.
Registrar Doconut
AddDoconut() é o único ponto de entrada de registro — há uma única sobrecarga, e ele conecta o serviço Viewer, o serviço de licença e a infraestrutura de renderização ao contêiner DI.
Duas chamadas de middleware completam a configuração, e sua ordem importa: UseDoconutResources() deve ser executado antes de UseDoconut(). UseDoconut() é middleware terminal, portanto chamá‑lo primeiro faz com que toda requisição a um recurso /doconut-res nunca alcance o manipulador de recursos e resulte em 404. A conexão da sessão também é necessária — a segurança padrão de documentos Doconut valida cada requisição de página contra o estado de sessão ASP.NET.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // estado de sessão precisa de um cache (MVC/Razor Pages já adiciona um)
builder.Services.AddSession(); // a segurança de documentos Doconut depende do estado de sessão ASP.NET
app.UseSession(); // chame UseSession() antes de UseDoconut()
app.UseDoconutResources(); // deve ser registrado antes de UseDoconut()
app.UseDoconut();Todas as opções
DoconutOptions aceita as seguintes propriedades configuráveis. Cada uma é opcional — os valores padrão abaixo se aplicam quando a propriedade não é definida.
| Propriedade | Padrão | Descrição |
|---|---|---|
ShowDoconutInfo | false | Quando true, uma requisição sem token retorna um banner de versão ao invés de um 404. Útil como verificação rápida; desative em produção. |
UnsafeMode | false | Quando true, ignora a verificação de segurança da sessão ASP.NET nas requisições de página. Desative em produção. |
MiddlewarePath | "/doconut" | Valor de coordenação para o endpoint de página‑imagem. É validado, mas não monta um ramo por si só; mantenha alinhado com o mapeamento real de UseDoconut() e o BasePath do cliente. |
ResourcesPath | "/doconut-res" | Onde os recursos JS/CSS/imagens incorporados são servidos. |
LicensePath | "" (string vazia) | Caminho para o arquivo de licença. Vazio significa passar para a próxima fonte, então busca automática. |
LicenseContent | "" (string vazia) | Conteúdo bruto da licença — de uma variável de ambiente, de um gerenciador de segredos ou de um banco de dados. |
LicenseStream | null | Licença como stream, lida uma vez na inicialização. |
ResetLicense | false | Bandeira de compatibilidade reservada. Os serviços .NET 8 atuais leem a licença durante AddDoconut(); reinicie a aplicação após substituir uma licença. |
A precedência de licenças quando mais de uma fonte está definida: LicenseStream supera LicenseContent, que supera LicensePath, que supera a busca automática — veja Configuração de Licença.
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.MiddlewarePath = "/doconut"; // coordene com o mapeamento da aplicação e o BasePath do cliente
options.ResourcesPath = "/doconut-res"; // onde os JS/CSS/imagens do visualizador são servidos
options.UnsafeMode = false; // mantenha a segurança da sessão ativada
options.ShowDoconutInfo = false;
});Próximos passos
- Início Rápido — abra seu primeiro documento e renderize‑o no navegador.
- Configuração de Licença — onde Doconut procura seu arquivo de licença.
Esta página foi útil?