Castle DI を使用したプロジェクトを継承しました。ソリューションに WCF を追加していて、ソリューション内のいくつかの機能を使用する必要があります。クラスには次のものがありますが、これはインジェクションであると想定しています。
private readonly IOrderRepository _orderRepository;
private readonly IEshopOrderRepository _eShopOrderRepository;
private readonly IUserRepository _userRepository;
private readonly IListRepository _listRepository;
private readonly INHibernateRepositoryWithTypedId<ProductVariant, string> _productVariantRepository;
private readonly IMapper<GiftCardPayment, string, GiftCardPaymentDto> _giftCardDtoMapper;
private readonly IMapper<AbstractOrder, OrderDto> _orderDtoMapper;
private readonly IMapper<AbstractOrder, RecurringOrder> _recurringOrder;
private readonly IMapper<Address, CreditCardPaymentDto> _creditCardDtoMapper;
public delegate OrderDto ShipmentProcessing(OrderDto order, bool isRecap);
public OrderManagementService(IOrderRepository orderRepository, IUserRepository userRepository, IListRepository listRepository,
IEshopOrderRepository eShopOrderRepository,
INHibernateRepositoryWithTypedId<ProductVariant, string> productVariantRepository,
IMapper<GiftCardPayment, string, GiftCardPaymentDto> giftCardDtoMapper,
IMapper<AbstractOrder, OrderDto> orderDtoMapper,
IMapper<AbstractOrder, RecurringOrder> recurringOrder,
IMapper<Address, CreditCardPaymentDto> creditCardDtoMapper)
{
_orderRepository = orderRepository;
_eShopOrderRepository = eShopOrderRepository;
_userRepository = userRepository;
_listRepository = listRepository;
_productVariantRepository = productVariantRepository;
_giftCardDtoMapper = giftCardDtoMapper;
_orderDtoMapper = orderDtoMapper;
_recurringOrder = recurringOrder;
_creditCardDtoMapper = creditCardDtoMapper;
}
すべてが機能します。私の質問は、このパターンを WCF サービス クラスにどのように実装するかです。クライアントがパラメーターを提供しないため、パラメーターをコンストラクターに追加できません。
WCFでDIを使用できるので、その部分は機能しています。
ありがとう