インストール

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

.NET 8 用の基本 Doconut ビューアは、任意の ASP.NET Core アプリケーションに組み込める単一の 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.AddDistributedMemoryCache(); // セッション状態にはキャッシュが必要です(MVC/Razor Pages は既に追加しています)
builder.Services.AddSession(); // Doconut のドキュメントセキュリティは ASP.NET セッション状態に依存します

app.UseSession();          // UseSession() を UseDoconut() の前に呼び出してください
app.UseDoconutResources(); // 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() 中にライセンスを読み取ります。ライセンスを置き換えた後はアプリを再起動してください。

複数のソースが設定されている場合のライセンス優先順位は、LicenseStream が LicenseContent より優先され、LicenseContent が LicensePath より優先され、LicensePath が自動検索より優先されます — 詳細は License Setup を参照してください。

csharp
builder.Services.AddDoconut(options =>
{
    options.LicensePath     = "Doconut.Viewer.lic";
    options.MiddlewarePath  = "/doconut";     // アプリのマッピングとクライアントの BasePath と合わせてください
    options.ResourcesPath   = "/doconut-res"; // ビューアの JS/CSS/画像が提供される場所
    options.UnsafeMode      = false;          // セッションセキュリティを有効に保つ
    options.ShowDoconutInfo = false;
});

次のステップ

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