インストール

Doconut を .NET 6 プロジェクトに追加する

.NET 6 用の基本 Doconut ビューアは、任意の ASP.NET Core アプリケーションに組み込める 1 つの NuGet パッケージとして提供されます。オプションのプラグインは別のパッケージを使用します。このページでは、基本パッケージをインストールし、ミドルウェアを登録します — 最初のレンダリングを行う前に必要な最低限の手順です。

パッケージのインストール

bash
dotnet add package Doconut.NET6

バージョン指定なしのコマンドは、最新の安定版リリースをインストールします。現在の 26.7.0 リリースを正確に再現するには、バージョンを別のオプションとして指定します:

bash
dotnet add package Doconut.NET6 --version 26.7.0

Doconut.NET6 はパッケージ ID です。.26.7.0 サフィックスはダウンロードされた Doconut.NET6.26.7.0.nupkg ファイル名に付くもので、ID の一部ではありません。

アップグレード前に統合を特定する

Doconut.NET6 パッケージ ID は、従来の統合と現在の .NET 6 統合の両方で使用されています。パッケージ名だけでドキュメントを選択しないでください:

  • DocImage.axdnew Viewer(_cache, _accessor, ...)、同期 OpenDocument(...)、および手動でコピーしたビューアスクリプトは、従来の統合 を示します;
  • AddDoconut()UseDoconutResources()、注入された Viewer、および OpenDocumentAsync(...) は、ここで文書化されている現在の統合を示します。

翻訳済みの従来のセットアップマニュアルは引き続き利用可能です。世代を変更するには移行ガイドを使用してください。通常のパッケージ更新では、スタートアップ、ビューアのライフタイム、またはブラウザリソースは自動的に変換されません。

Doconut の登録

AddDoconut() は唯一の登録エントリポイントです — オーバーロードは 1 つだけで、Viewer サービス、ライセンスサービス、レンダリングインフラストラクチャを DI コンテナに接続します。

セットアップを完了するには 2 つのミドルウェア呼び出しが必要で、順序が重要です: UseDoconutResources()UseDoconut() の前に実行しなければなりません。 UseDoconut() はターミナルミドルウェアであるため、先に呼び出すと /doconut-res アセットへのすべてのリクエストがリソースハンドラに届かず 404 になります。セッションの配線も必要です — Doconut のデフォルトドキュメントセキュリティは、すべてのページリクエストを ASP.NET セッション状態と照合して検証します。

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath = "Doconut.Viewer.lic";
});
builder.Services.AddSession(); // Doconut document security rides on ASP.NET session state

app.UseSession();          // call UseSession() before UseDoconut()
app.UseDoconutResources(); // must be registered before UseDoconut()
app.UseDoconut();

すべてのオプション

DoconutOptions は以下の設定可能なプロパティを受け取ります。すべて任意で、プロパティが設定されていない場合は以下のデフォルトが適用されます。

プロパティデフォルト説明
ShowDoconutInfofalsetrue の場合、token が無いリクエストは 404 の代わりにバージョンバナーを返します。簡易チェックとして便利ですが、本番環境では無効にしてください。
UnsafeModefalsetrue の場合、ページリクエスト時の ASP.NET セッションセキュリティチェックをスキップします。本番環境では無効にしてください。
MiddlewarePath"/doconut"ページ画像エンドポイントの調整値です。検証は行われますが、単体でブランチをマウントするわけではありません。実際の UseDoconut() のマッピングおよびクライアント側 BasePath と合わせてください。
ResourcesPath"/doconut-res"埋め込みの JS/CSS/画像リソースが提供されるパスです。
LicensePath"" (empty string)ライセンスファイルへのパスです。空文字列の場合は次のソースへフォールスルーし、続いて自動検索が行われます。
LicenseContent"" (empty string)生のライセンス内容 — 環境変数、シークレットマネージャ、またはデータベースから取得します。
LicenseStreamnullストリームとしてのライセンスで、起動時に一度読み取ります。
ResetLicensefalse互換性のために予約されたフラグです。現在の .NET 6 サービスは AddDoconut() 時にライセンスを読み取ります。ライセンスを置き換えた後はアプリを再起動してください。

複数のソースが設定されている場合のライセンス優先順位は、LicenseStreamLicenseContent より優先され、LicenseContentLicensePath より優先され、LicensePath が自動検索より優先されます — 詳細はライセンス設定をご覧ください。

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // coordinate with app mapping and client BasePath
    options.ResourcesPath   = "/doconut-res"; // where the viewer's JS/CSS/images are served from
    options.UnsafeMode      = false;          // keep session security on
    options.ShowDoconutInfo = false;
});

次のステップ

このページは役に立ちましたか?