DoconutOptions
Doconut サービスの構成
DoconutOptions (namespace Doconut) は SDK 全体の単一設定オブジェクトです。AddDoconut() 内で一度だけ設定し、シングルトンとして登録されます。
builder.Services.AddDoconut(options =>
{
options.LicensePath = "Doconut.Viewer.lic";
options.UnsafeMode = false;
options.ShowDoconutInfo = false;
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});プロパティ
| 型 | プロパティ | デフォルト | 説明 |
|---|---|---|---|
bool | ShowDoconutInfo | false | true の場合、トークンなしのミドルウェアリクエストは 404 の代わりにバージョンバナー(Doconut <version> is running on <host>)を返します。スモークチェックとして便利です。運用環境では false を残してください。 |
bool | UnsafeMode | false | true の場合、ページリクエスト時の ASP.NET セッション セキュリティチェックをスキップします。運用環境では false を残してください(Core Concepts → Sessions & Security を参照)。 |
string | MiddlewarePath | "/doconut" | ページ画像エンドポイントの調整値です。検証は行われますが、パイプラインブランチはマウントされません。実際の UseDoconut() マッピングとクライアント BasePath と合わせておいてください。 |
string | ResourcesPath | "/doconut-res" | 埋め込み JS/CSS/画像/フォントリソースの URL パスプレフィックスです。 |
string | LicensePath | "" | ライセンスファイルへのパスです。空の場合は次のライセンスソースへ、次に自動検出へ;何も見つからない場合は機能なしの透かし評価状態になります。 |
string | LicenseContent | "" | 生の XML ライセンスコンテンツ(データベース、環境変数、シークレットマネージャー)。LicensePath より優先されます。 |
Stream? | LicenseStream | null | 起動時に一度だけ読み取られるストリームとしてのライセンス。両方の他のソースより優先されます。 |
bool | ResetLicense | false | 予約された互換性フラグ。現在の .NET 8 実装では使用されません。ライセンスを置き換えた後、アプリケーションを再起動してください。 |
DoconutPluginRegistry | PluginRegistry | — | プラグインの貢献を収集する読み取り専用レジストリ;ビューアファクトリによって使用されます。AddPlugin<T>() で設定してください。 |
ライセンスの優先順位(サービス登録時に適用): LicenseStream → LicenseContent → LicensePath → 自動検出(Getting Started → License Setup を参照)。
メソッド
AddPlugin<TPlugin>()
DoconutOptions AddPlugin<TPlugin>() where TPlugin : IDoconutPlugin, new()このメソッドはリリースされたオプトインの Converter と DICOM パッケージで使用します。アノテーションと通常の検索は組み込みのライセンス機能であり、AddPlugin<TPlugin>() は使用しません。
ファーストパーティプラグイン(Converter、DICOM)を登録します。Fluent で、オプションインスタンスを返します。AddDoconut() は、ライセンスが欠如している場合、レガシー TRIAL ファイル、またはプラグインの機能を付与しない有料ライセンスに対して InvalidOperationException をスローします。期限切れ後も一時的/デモ登録は保持され、ランタイムゲートの対象となります(Core Concepts → Plugin System を参照)。
オプトインの Converter ウィジェットは AddConverterWidget() で有効化され、読み取り専用の ConverterWidget プロパティを通じて提供されます。そのオプションは Converter Plugin ページ(Plugins → Converter Plugin)に記載されています。
RegisterViewer(extension, factory, defaultConfig?)
DoconutOptions RegisterViewer(
string extension, // ".myext" — 先頭のドットはオプション
Func<IFormatViewer> factory,
Func<BaseConfig>? defaultConfig = null)ファイル拡張子に対して カスタムビューア を登録します。カスタムビューアは組み込みおよびプラグインビューアよりも優先され、ライセンスで制限されません。defaultConfig が省略され、ドキュメントが明示的な設定なしで開かれた場合、ImageConfig が使用されます。
空の拡張子に対しては ArgumentException(Extension must be a non-empty file extension.)を、null のファクトリに対しては ArgumentNullException をスローします。
起動時の検証
AddDoconut() はオプションを fail-fast で検証し、設定ミスが起動時に明確な例外として表れ、リクエスト時の混乱する 404 ではなくなります。
DoconutOptions.MiddlewarePath must be a non-empty path starting with '/'.
DoconutOptions.ResourcesPath must be a non-empty path starting with '/'.
DoconutOptions.MiddlewarePath and ResourcesPath must be different paths.共通設定
// Production: 明示的なライセンス、すべてがロックダウン (すべてのセキュリティデフォルト)
builder.Services.AddDoconut(options =>
{
options.LicenseContent = builder.Configuration["Doconut:License"] ?? "";
});
// カスタムパス (例: ルート競合を回避するため)
builder.Services.AddDoconut(options =>
{
options.MiddlewarePath = "/docs-engine";
options.ResourcesPath = "/docs-assets";
});ResourcesPath を変更した場合、クライアントウィジェットの ResPath を同期させてください(ViewerConfig を参照)。
MiddlewarePath は自動的な ASP.NET Core ルートマッパーではありません。Doconut がカスタムプレフィックス以下でのみ応答すべき場合、そのブランチに UseDoconut() をマウントしてください(例: app.Map("/docs-engine", branch => branch.UseDoconut()) を使用)。クライアント BasePath も同じ URL に設定します。
このページは役に立ちましたか?