インストール

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

.NET 6 用の基本 Doconut ビューアは、任意の ASP.NET Core アプリケーションに組み込める単一の 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.axd、new 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.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 6 サービスは AddDoconut() 時にライセンスを読み取ります。ライセンスを置き換えた後はアプリを再起動してください。

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

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;
});

次のステップ

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