インストール

Doconut を .NET 8 プロジェクトに追加

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

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

bash
dotnet add package Doconut.NET8

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

bash
dotnet add package Doconut.NET8 --version 26.7.0

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

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 8 サービスは 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;
});

次のステップ

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