Как обновить Doconut

Следуйте этим шагам, чтобы обновить с версии 1.0.5.2 или ниже.

.NET Фреймворк 4.7

Конфигурация Web.config

Просмотрщик требует регистрации HttpHandler через файл web.config. В зависимости от версии IIS это можно сделать с помощью следующего раздела, определённого в web.config.

Ниже IIS 7:

xml
<httpHandlers>
  <add verb="GET,POST" path="DocImage.axd" type="Doconut.DocImageHandler, Doconut" />
</httpHandlers>

IIS 7 и выше:

xml
<handlers>
  <add name="DocImage" verb="GET,POST" path="DocImage.axd" type="Doconut.DocImageHandler, Doconut" />
</handlers>

Обновление регистрации в ASPX‑страницах

Измените регистрацию сборки в ваших страницах ASPX.

Старый:

aspx
<%@ Register Assembly="DocumentViewer" Namespace="DotnetDaddy.DocumentViewer" TagPrefix="asp" %>

Новый:

aspx
<%@ Register Assembly="Doconut" Namespace="Doconut" TagPrefix="asp" %>

Обновление тега управления

Обновите тег управления с DocViewer на Viewer.

Старый:

aspx
<asp:DocViewer ID="ctlDoc" runat="server"/>

Новый:

aspx
<asp:Viewer ID="ctlDoc" runat="server"/>

Обновление пространств имён

Doconut 24.3.0 переименовал пространства имён. Добавьте новые DLL: Doconut.dll, Doconut.Formats.dll, Doconut.Configs.dll и Doconut.Clouds.dll.

Новые using:

csharp
using Doconut;
using Doconut.Configs;
using Doconut.Clouds;

Инициализация:

csharp
var viewer = new Viewer();

Зависимости пакетов

  • Пакет Newtonsoft.Json 13.0.3
  • Пакет System.Text.Encoding.CodePages 6.0.0
  • Пакет System.Text.Json 6.0.0

.NET Standard / Core

Обновление пространств имён

Doconut 24.3.0 переименовал пространства имён. Добавьте новые DLL: Doconut.dll, Doconut.Formats.dll, Doconut.Configs.dll и Doconut.Clouds.dll.

Новые using:

csharp
using Doconut;
using Doconut.Configs;
using Doconut.Clouds;

Инициализация:

csharp
using System;

// Экземпляры Viewer теперь получаются из фабрики, контейнера DI или другого поставщика.
// Замените реализацию GetViewer на вашу фактическую логику получения.
Viewer GetViewer() => throw new NotImplementedException();

var viewer = GetViewer(); // получить экземпляр Viewer

Зависимости пакетов

  • Пакет Microsoft.Extensions.Caching.Abstractions 3.1.10
  • Пакет SkiaSharp 2.88.6
  • Пакет Newtonsoft.Json 13.0.3
  • Пакет System.Drawing.Common 6.0.0
  • Пакет System.Text.Json 6.0.0
  • Пакет System.Text.Encoding.CodePages 7.0.0

.NET 6 or higher

Обновление пространств имён

Doconut 24.3.0 переименовал пространства имён. Добавьте новые DLL: Doconut.dll, Doconut.Formats.dll, Doconut.Configs.dll и Doconut.Clouds.dll.

Новые using:

csharp
// Текущая интеграция .NET 6: Viewer берётся из DI, а открытие документа происходит асинхронно.
var token = await viewer.OpenDocumentAsync(path, new PdfConfig { AllowSearch = true });

Инициализация:

csharp
app.MapPost("/api/open", async (Viewer viewer) =>
{
    // Токен является непрозрачным — передайте его виджету, никогда не логируйте и не сохраняйте его.
    string token = await viewer.OpenDocumentAsync("wwwroot/files/Sample.pdf");
    return Results.Ok(new { token });
});

Зависимости пакетов

  • Пакет Microsoft.Extensions.Caching.Abstractions 3.1.10
  • Пакет Newtonsoft.Json 13.0.3
  • Пакет SkiaSharp 2.88.6
  • Пакет System.Drawing.Common 7.0.0
  • Пакет System.Text.Encoding.CodePages 7.0.0

Была ли эта страница полезной?