サービスプロバイダー

Version:
日本語翻訳に関する免責事項

このページの翻訳は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

この記事を改善するための提案がある場合は、 お知らせください!