サービスプロバイダー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
各サービス層にはカスタマイズ可能な独自のインターフェースがあります。これらのプロバイダーには、適切なサブシステムとやり取りするためのサービスメソッドが含まれています。すべてのサービスプロバイダーはServiceProviderクラスから継承しなければならず、各サービスメソッドがジェネリックベースのクラスの汎用版を持つことを推奨します。
サービス方法のサンプル:
public virtual GetCartsResult GetCarts(NotNull GetCartsRequest request) { return this.RunPipeline<GetCartsRequest, GetCartsResult>(PipelineName.GetCarts, request); }
ジェネリック拡張手法の例:
public static TGetCartsResult GetCarts<TGetCartsRequest, TGetCartsResult>(NotNull this CartServiceProvider cartProvider, NotNull TGetCartsRequest request) where TGetCartsRequest : GetCartsRequest where TGetCartsResult : GetCartsResult, new() { return cartProvider.RunPipeline<GetCartsRequest, TGetCartsResult>(PipelineName.GetCarts, request); }
既存のサービスプロバイダーが新しいサービス手法を必要とする場合は、新しいサービスプロバイダーを作成するのではなく、そのプロバイダーを拡張し新メソッドを追加することを検討してください。以下は、さまざまなサブシステムおよびそれらのサービスプロバイダーの一覧です。
-
ショッピングカート
Sitecore.Commerce.Services.Carts.CartServiceProvider
-
命令
Sitecore.Commerce.Services.Orders.OrderServiceProvider
-
価格設定
Sitecore.Commerce.Services.Prices.PricingServiceProvider
-
製品同期
Sitecore.Commerce.Services.Products.ProductSynchronizationProvider
-
顧客と利用者
Sitecore.Commerce.Services.Customers.CustomerServiceProvider
-
在庫
Sitecore.Commerce.Services.Inventory.InventoryServiceProvider