新しいリクエストスロットリング戦略を作成する
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
新しいリクエストスロットリング戦略を作成できます。以下は以下の通りです:
- 戦略項目テンプレートを作成しましょう
- 戦略クラスを実装する
- 戦略を適用してください
戦略項目テンプレートを作成しましょう
戦略アイテムテンプレートを追加するには:
-
/sitecore/templates/System/Services/Throttleの*/System/Templates/Templateテンプレートを使って新しいテンプレートを作成します。フィールドを追加し、ベーステンプレートを/sitecore/templates/System/Services/Throttle/Strategy*テンプレートに設定します。
-
挿入ルールを設定するには、作成したテンプレートを*/sitecore/templates/System/Services/Throttle/Strategy Folder/__Standard Values*項目のMasters欄にリストに追加してください。
-
作成したテンプレートの標準値を追加し、フィールドのデフォルト値を設定します:

戦略クラスを実装する
戦略クラスを作成するには:
-
Visual Studioではプロジェクトを作成し、DataThrottleStrategy基底クラスから継承するストラテジークラスを作成します。
-
以下の3つの方法を実施しなければなりません。
- InitCore– すべての初期化ステップをここに配置します(例えば、戦略のプロパティを戦略アイテムフィールドに割り当てるなど)。
- VerifyCore– リクエストが許可されるかどうかを指定するロジックをここに載せます。内部状態はThrottleStrategyDataクラスのCustomDataフィールドに保存できます。このクラスのインスタンスはメソッドの引数として渡されます。
- CommitCore– すべての戦略がリクエストを許可し、必要に応じて内部状態を変更できる場合にこのメソッドを使用。
-
新しい戦略を登録 し、インターフェースを実装するクラスを作成してIServicesConfigurator 、servicesセクションをパッチして以下を追加してください:
-
バイナリアセンブリファイルをSitecoreインスタンスのbinフォルダに入れてください。
以下は戦略クラスの実装例です。
using System;
using System.Globalization;
using Sitecore.Diagnostics;
using Sitecore.Services.Infrastructure.Throttle;
using Sitecore.Services.Infrastructure.Throttle.Strategies;
using Microsoft.Extensions.DependencyInjection;
using Sitecore.DependencyInjection;
namespace CustomService.Throttle.Strategies
{
public class CustomStrategyInjections : IServicesConfigurator
{
public void Configure(IServiceCollection serviceCollection)
{
serviceCollection.AddTransient
戦略を適用してください
戦略を適用するには:
-
作成した戦略テンプレートから戦略アイテムを作成してください:

これで 説明した方法で戦略を適用できます。