Instalação

Adicione 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 utilizam 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 tem sido usado tanto pela integração clássica quanto pela atual .NET 6. Não selecione a documentação apenas pelo 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 o startup, o tempo de vida do visualizador ou os recursos do navegador automaticamente.

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 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.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddDistributedMemoryCache(); // o estado de sessão precisa de um cache (MVC/Razor Pages já adicionam 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 padrões 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 ao invés de um 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"De onde os recursos incorporados de JS/CSS/imagem 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, um gerenciador de segredos ou um banco de dados.
LicenseStreamnullLicença como stream, lida uma vez na inicialização.
ResetLicensefalseFlag de compatibilidade reservada. Os serviços .NET 6 atuais leem a licença durante AddDoconut(); reinicie o aplicativo após substituir uma licença.

Precedência de licença 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.

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // coordene com o mapeamento do aplicativo e o BasePath do cliente
    options.ResourcesPath   = "/doconut-res"; // de onde os recursos 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

Esta página foi útil?