Instalação

Adicionar Doconut ao seu projeto .NET 6

O visualizador base Doconut para .NET 6 é 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

bash
dotnet add package Doconut.NET6

O 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:

bash
dotnet add package Doconut.NET6 --version 26.7.0

Doconut.NET6 é o ID do pacote. O sufixo .26.7.0 pertence ao nome do arquivo baixado Doconut.NET6.26.7.0.nupkg e não faz parte do ID.

Identificar a integração antes de atualizar

O ID do pacote Doconut.NET6 foi usado tanto pela integração clássica quanto pela atual do .NET 6. Não selecione a documentação apenas com base no nome do pacote:

  • DocImage.axd, new Viewer(_cache, _accessor, ...), OpenDocument(...) síncrono e scripts do visualizador copiados manualmente identificam a integração clássica;
  • AddDoconut(), UseDoconutResources(), um Viewer injetado e OpenDocumentAsync(...) identificam a integração atual documentada aqui.

O manual de configuração clássico traduzido continua disponível. Use o guia de migração para mudar de geração; uma atualização normal do pacote não converte automaticamente a inicialização, o tempo de vida do visualizador ou os recursos do navegador.

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() é um 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 configuração da sessão também é necessária — a segurança de documento padrão do Doconut valida cada requisição de página contra o estado de sessão do ASP.NET.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddSession(); // A segurança de documentos do Doconut depende do estado de sessão do 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 uma propriedade não é definida.

PropriedadePadrãoDescrição
ShowDoconutInfofalseQuando true, uma requisição sem token retorna um banner de versão em vez de 404. Útil como verificação rápida; desative em produção.
UnsafeModefalseQuando 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 incorporados de JS/CSS/imagem são servidos.
LicensePath"" (empty string)Caminho para o arquivo de licença. Vazio significa passar para a próxima fonte, então busca automática.
LicenseContent"" (empty string)Conteúdo bruto da licença — proveniente de uma variável de ambiente, de um gerenciador de segredos ou de um banco de dados.
LicenseStreamnullLicença como um stream, lido uma vez na inicialização.
ResetLicensefalseFlag de compatibilidade reservada. Os serviços atuais do .NET 6 leem a licença durante AddDoconut(); reinicie a aplicação após substituir uma licença.

Prioridade de licença quando mais de uma fonte está definida: LicenseStream tem precedência sobre LicenseContent, que tem precedência sobre LicensePath, que tem precedência sobre busca automática — veja Configuração de Licença.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // coordenar 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;          // manter a segurança da sessão ativada
    options.ShowDoconutInfo = false;
});

Próximos passos

Esta página foi útil?